1. 소개
Swagger의 목표는 REST API에 대한 언어 독립적 표준 인터페이스를 정의하여 사용자가 소스 코드에 액세스하지 않고 컴퓨터 서비스의 기능을 발견하고 이해할 수 있도록하는 것입니다. Swagger가 올바르게 정의하면 사용자는 최소한의 구현 로직으로 원격 서비스를 이해하고 상호 작용할 수 있습니다. 저수준 프로그래밍으로 만든 인터페이스와 유사합니다.
2. 구현 단계
1. Maven 의존성을 추가하십시오
<pectionency> <groupid> io.springfox </groupid> <artifactid> springfox-swagger2 </artifactid> <버전> 2.6.1 </version> </fectionency>
2. Swagger 구성 클래스
@configuration @enableswagger2 // @componentscan (basepackageclasses = jgbjbaseinfocompanyapi.class) 또는 @componentscan (basepackages = "com.summersoft.ts.schedule.schedule.supervision.controller") // 스캔하는 패키지 경로 swaggerconfig { swaggerspringmvcplugin () {return new Docket (hoc } /** * API 특정 정보 * * @return * /private apiinfo apiinfo apiinfo () {apiinfo apiinfo = new Apiinfo ( "도어 서비스 플랫폼 API 문서", // 제목 "", // 설명 "1.0", // 릴리스 "," "," "," "// Signature" "// Signature";3. Swagger Notes
Swagger는 SwaggerConfig에서 구성된 패키지 경로 아래에서 Swagger 주석으로 클래스 파일을 스캔하고 마지막으로 스캔 한 JSON 파일을 생성합니다 ...
Swagger Annotation 설명 : https://github.com/swagger-api/swagger-core/wiki/annotations#apimodel
@API : 수업의 기능을 설명하기 위해 수업에서 사용됩니다. 이전 버전에서 사용되는 값은 스캔하여 생성 된 클래스 이름을 나타냅니다. 1.5 후에는 클래스 이름을 나타내는 데 태그를 사용해야합니다.
@api (tag = "usercontroller", description = "사용자 관련 API")
@apioperation : 방법의 기능을 설명하기 위해 방법에 사용
@apioperation (value = "찾기 사용자", notes = "찾기 사용자", httpmethod = "get", compeces =
mediaType.Application_json_utf8_value)
@apiparam : 매개 변수 목록에서 사용하여 매개 변수의 의미를 나타냅니다.
@apiparam (value = "현재 시간 만들기 또는 업데이트 (월)"정수 시간
@apiimplicitparams : 메소드에 매개 변수 설명 세트를 포함하는 데 사용됩니다.
@apiimplicitparam : @apiimplicitparams 주석에 사용되어 요청 매개 변수의 다양한 측면을 지정합니다.
Paramtype : 매개 변수를 배치 할 위치
헤더> 요청 매개 변수 획득 : @requestheader
쿼리> 요청 매개 변수 획득 : @requestparam
경로 (RESTFUL 인터페이스 용)> 요청 매개 변수 가져 오기 : @PathVariable
신체 (일반적으로 사용되지 않음)
양식 (일반적으로 사용되지 않음)
이름 : 매개 변수 이름
데이터 유형 : 매개 변수 유형
필수 : 매개 변수를 전달 해야하는지 여부
값 : 매개 변수의 의미
defaultValue : 매개 변수의 기본값입니다
@apiimplicitparams ({
@apiimplicitparam (name = "id", value = "고유 ID", 필수 = true, dataType = "long", paramtype = "path"),
})
@apiresponses : 응답 세트를 나타내는 데 사용됩니다
@apiresponse : @apiresponses에서 사용되며 일반적으로 오류 응답 정보를 표현하는 데 사용됩니다.
코드 : 숫자, 예를 들어 400
메시지 : "채워지지 않은 요청 매개 변수"와 같은 정보
응답 : 예외를 던지는 클래스
@apiresponses (value = {
@apiresponse (code = 400, message = "이름이 제공되지 않음")
})
@apimodel : 모델의 정보를 설명합니다 (이것은 일반적으로 @RequestBody 시나리오를 사용하여 게시물을 작성할 때 사용되며 @apiimplicitparam 주석을 사용하여 요청 매개 변수를 설명 할 수 없습니다).
@apimodel (value = "사용자 엔티티 클래스")
@apimodelProperty : 모델의 속성을 설명하십시오
@apimodelProperty (value = "로그인 사용자")
3. Swagger-UI
위의 구성 정보를 통해 Swagger는 모든 클래스 정보를 스캔하고 JSON 파일을 생성하는 데 도움이됩니다. JSON 파일을 사람들에게 친숙하게하려면 Swagger-UI 구성 요소를 사용해야합니다.
1. Swagger-ui 지침 : https://swagger.io/docs/swagger-tools/
2. Swagger-Ui를 다운로드하고 WebApp 디렉토리에서 새 Swagger 디렉토리를 만들고 Dist 디렉토리에 파일을 Swagger 디렉토리에 넣고 Index.html 파일을 수정하십시오. 기본적으로 연결 http://petstore.swagger.io/v2/swagger.json에서 API의 JSON을 가져와야합니다. 여기서 URL 값을 http : // {ip}로 수정해야합니다.
예를 들어, 내 URL 값은 다음과 같습니다.
http : // localhost : 8080/vouchers/api-docs. 또한 Spring MVC : <mvc : resource mapping = "/swagger/**"location = "/swagger/"/>의 리소스 릴리스를 구성해야합니다.
팁 : 기본 Dist 디렉토리에는 파일이 많지 않습니다. Swagger-UI는 사용자 정의 할 수 있습니다. 이것은 우리 프로젝트에 사용됩니다. 프로젝트 이름을 변경할 필요가 없습니다. 프로젝트 이름은 https://files.cnblogs.com/files/jmcui/swagger.zip입니다
3. 표시된 인터페이스를 정렬하는 방법 :
Apissorter : API/태그 목록에 정렬을 적용하십시오. '알파'(이름별로 정렬) 또는 함수 (정렬 함수 작동 방식은 array.prototype.sort () 참조) 일 수 있습니다. 기본값은 서버에서 반환 한 주문이 변경되지 않은 상태입니다.
OperationSsorter : 각 API의 조작 목록에 정렬을 적용하십시오. '알파'(영숫자로 정렬), '메소드'(http 메소드로 정렬) 또는 함수 (정렬 함수 작동 방식을 알기 위해 array.prototype.sort () 참조) 일 수 있습니다. 기본값은 서버에서 반환 한 주문이 변경되지 않은 상태입니다.
SpringMVC의 Swagger 플러그인을 구성하기위한 위의 튜토리얼 (공유)은 내가 공유하는 모든 컨텐츠입니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.