SpringBoot 통합 Swagger 2 방법
5556 단어 SpringBoot집성Swagger2
현재 많은 회사 들 이 앞 뒤 가 분 리 된 개발 모델 을 채택 하고 있 으 며,전단 과 백 엔 드 의 업 무 는 서로 다른 엔지니어 가 완성 하고 있다.이러한 개발 모델 에서 제때에 업데이트 되 고 완전한 Rest API 문 서 를 유지 하면 우리 의 업무 효율 을 크게 향상 시 킬 것 이다.전통 적 인 의미 에서 문 서 는 백 엔 드 개발 자가 수 동 으로 작성 한 것 입 니 다.이런 방식 은 문서 의 신속 성 을 확보 하기 어렵 다 는 것 을 잘 알 고 있 습 니 다.이런 문 서 는 시간 이 지나 면 참고 의 미 를 잃 고 오히려 우리 의 의사 소통 원 가 를 높 일 수 있 습 니 다.Swagger 는 우리 에 게 새로운 API 문 서 를 유지 하 는 방식 을 제공 했다.
2.왜 사용 합 니까?
1.코드 가 변경 되면 문 서 는 코드 에 따라 변 하고 소량의 주석 Swagger 만 있 으 면 코드 에 따라 API 문 서 를 자동 으로 생 성하 여 문서 의 실시 성 을 확보 할 수 있 습 니 다.
2.크로스 언어,Swagger 는 40 여 개 언어 를 지원 합 니 다.
3.Swagger UI 는 상호작용 이 가능 한 API 문 서 를 보 여 줍 니 다.우 리 는 문서 페이지 에서 API 호출 을 직접 시도 하여 복잡 한 호출 매개 변 수 를 준비 하 는 과정 을 줄 일 수 있 습 니 다.
4.문서 규범 을 관련 도구 에 가 져 올 수 있 습 니 다(예 를 들 어 Postman,SoapUI).이 도구 들 은 자동 으로 자동화 테스트 를 만 들 것 입 니 다.
어떻게
1.프로젝트 pom.xml 에 Swagger 2 와 관련 된 의존 도 를 추가 합 니 다.
<!--swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.6</version>
</dependency>
2.새로운 Swagger 2 설정 클래스
package com.zhouhong.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @ClassName: Swagger2
* @Description:
* @Author:
* @NickName: Tom-shuhu
* @Date: Created in 2020/12/15
**/
@Configuration
@EnableSwagger2
public class Swagger2 {
// http://localhost:8088/swagger-ui.html
// http://localhost:8088/doc.html
// swagger2
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2) // api swagger2
.apiInfo(apiInfo()) // api
.select().apis(RequestHandlerSelectors
.basePackage("com.zhouhong.controller")) // controller
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("Tom-shushu api") //
.contact(new Contact(" ", //
"www.zhouhong.icu",
"[email protected]")) //
.description("Tom-shushu api ")//
.version("1.0.0")//
.termsOfServiceUrl("www.zhouhong.icu")//
.build();
}
}
문서 설정 설명:a.모든 인터페이스 에 API 문 서 를 생 성 합 니 다.이런 방식 은 인터페이스 방법 에 주석 을 달 필요 가 없습니다.편리 한 동시에 주석 이 추가 되 지 않 았 기 때문에 생 성 된 API 문서 도 주석 이 없고 가 독성 이 높 지 않 습 니 다.
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// API
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
b.현재 설정 한 패키지 아래 contrller 에 API 문 서 를 생 성 합 니 다.
.apis(RequestHandlerSelectors.basePackage("com.troila"))
c.@Api 주석 이 있 는 Controller 에 API 문 서 를 생 성 합 니 다.
.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
d.@ApiOperation 주석 이 있 는 방법 으로 API 문 서 를 생 성 합 니 다.
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
3.흔히 볼 수 있 는 주해 안내
@Api: , Controller
@ApiOperation: ,
@ApiParam:
@ApiModel:
@ApiProperty: ,
@ApiResponse:HTTP 1
@ApiResponses:HTTP
@ApiIgnore: API
@ApiError :
@ApiImplicitParam:
@ApiImplicitParams:
4.프 리 젠 테 이 션(위의 첫 번 째 설정 을 편리 하 게 사용 합 니 다)1.원래 경로 로 접근
2.원래 경로 디 버 깅
3.doc 모드 접근
4.doc 모드 디 버 깅
SpringBoot 통합 Swagger 2 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 SpringBoot 통합 Swagger 2 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.