이 기사에서는 SpringBoot를 Swagger와 통합하는 방법을 소개합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.
Swagger란 무엇입니까
<!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency>
조인 구성
swagger: title: 项目 API description: SpringBoot 集成 Swagger 项目 API version: 1.0 terms-of-service-url: http://www.baidu.com/ base-package: cn.anothertale.springbootshiro # 这一项指定需要生成 API 的包,一般就是 Controller contact: name: taohan url: http://www.baidu.ccom/ email: 1289747698@qq.com로그인 후 복사# 🎜🎜#Swagger 구성 만들기#🎜 🎜 #
package cn.anothertale.springbootshiro.config.swagger; import lombok.Getter; import lombok.Setter; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.ConfigurationProperties; 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; /** * description: swagger 配置中心 * * @author: taohan * @date: 2019年03月20日 * @time: 16:52 */ @Getter @Setter @Configuration @EnableSwagger2 @ConditionalOnClass(EnableSwagger2.class) @ConfigurationProperties(prefix = "swagger") public class SwaggerConfig { /** * API 接口包路径 */ private String basePackage; /** * API 页面标题 */ private String title; /** * API 描述 */ private String description; /** * 服务条款地址 */ private String termsOfServiceUrl; /** * 版本号 */ private String version; /** * 联系人 */ private Contact contact; @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage(basePackage)) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title(title) .description(description) .termsOfServiceUrl(termsOfServiceUrl) .version(version) .contact(contact) .build(); } }로그인 후 복사주석을 통해 API 표시Swagger는 기본적으로 구성된 패키지를 기반으로 모든 인터페이스를 검색하고 해당 API 설명 및 매개변수 정보를 생성합니다.일반적으로 사용되는 주석과 해당 속성은 다음과 같습니다.
@Api
(API 클래스 설명, 위 컨트롤러에 표시됨)
value: url의 경로 값
URL의 경로 값 #🎜🎜 #
- tags: 이 값이 설정되면 value 값이 덮어쓰여집니다.
- description: API 리소스 설명
- basePath: #🎜 🎜#기본 경로는 설정하지 않음
Produces:- 예: application/json, application/xml RequestMapping 해당 속성과 유사 #🎜🎜 #소비: #🎜🎜 #예: application/json, application/xml
- authorizations:고급 기능 인증 구성
#🎜🎜 #- hidden:#🎜🎜 #문서에 숨길지 여부
- @ ApiOperation(Controller 메소드에 사용, 메소드의 기능 설명)
value:
- tags:
매개변수 값이 값을 설정하면 value의 값을 덮어쓰게 됩니다. 🎜#기본 경로를 설정할 필요는 없습니다. #🎜 🎜#position:
여러 API를 구성하고 배치를 변경하려는 경우 이 속성을 설정할 수 있습니다.#🎜🎜 #value:
- #🎜 🎜#response: Returned object# 🎜🎜#
responseContainer:- 이러한 개체는 유효한 List, Set, Map이고 다른 개체는 유효하지 않습니다.
httpMethod:- 요청 방법
코드:- HTTP 상태 코드, 기본값 200
확장:- 확장 속성#🎜 🎜#
- @ApiImplicitParams
- (요청 매개변수 집합을 설명하는 Controller 메서드에 사용됨)
- value: ApiImplicitParam 배열, 다음 참고를 참조하세요.
- #🎜 🎜#
# 🎜🎜#@ApiImplicitParam- (요청 매개변수 설명)
name: #🎜 🎜#매개변수 이름- 예
defaultValue:매개변수 기본값
# 🎜🎜#required:
#🎜🎜 #예:- 이 필요합니다. , 기본값은 false입니다
access:
설명이 너무 많지 않음
- @ApiResponses(그룹 설명 응답)
- #🎜 🎜#값: ApiResponse 배열, 다음 참고 참조
- #🎜🎜 #
- @ApiResponse(응답 설명)
- code:
HTTP 상태 코드- message:
메시지 설명
- 마지막으로 http를 입력하면 //localhost:8080/swagger-ui.html에 접속할 수 있습니다!
위 내용은 SpringBoot를 Swagger와 통합하는 방법 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!