>  기사  >  Java  >  SpringBoot를 Swagger와 통합하는 방법 소개(코드 포함)

SpringBoot를 Swagger와 통합하는 방법 소개(코드 포함)

不言
不言앞으로
2019-03-21 10:11:013100검색

이 기사에서는 SpringBoot를 Swagger와 통합하는 방법을 소개합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.

Swagger란 무엇입니까

  1. Swagger는 개발자가 API를 빠르게 배우고 시험해 보는 데 사용할 수 있는 대화형 API 콘솔을 생성할 수 있습니다
  2. # 🎜🎜# Swagger는 다양한 플랫폼에서 구현하기 위한 클라이언트 SDK 코드를 생성할 수 있습니다
  3. Swagger 파일은 다양한 플랫폼의 코드 주석에서 자동으로 생성될 수 있습니다
  4. #🎜🎜 #Swagger에는 강력한 커뮤니티가 있습니다#🎜 🎜#
  5. 종속성 가져오기
  6. <!-- 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의 경로 값

    1. tags: 이 값이 설정되면 value 값이 덮어쓰여집니다.
    2. description: API 리소스 설명
    3. basePath: #🎜 🎜#기본 경로는 설정하지 않음
    4. Produces:
    5. 예: application/json, application/xml RequestMapping 해당 속성과 유사 #🎜🎜 #소비: #🎜🎜 #예: application/json, application/xml
    6. authorizations:고급 기능 인증 구성
    7. #🎜🎜 #
    8. hidden:#🎜🎜 #문서에 숨길지 여부
    9. @ ApiOperation(Controller 메소드에 사용, 메소드의 기능 설명)

    10. value:
    URL의 경로 값 #🎜🎜 #
  • tags:

    이 값을 설정하면 value의 값을 덮어쓰게 됩니다. 🎜#기본 경로를 설정할 필요는 없습니다. #🎜 🎜#position:

    여러 API를 구성하고 배치를 변경하려는 경우 이 속성을 설정할 수 있습니다.
    1. #🎜 🎜#response: Returned object# 🎜🎜#
    2. responseContainer:
    3. 이러한 개체는 유효한 List, Set, Map이고 다른 개체는 유효하지 않습니다.
    4. httpMethod:
    5. 요청 방법
    6. 코드:
    7. HTTP 상태 코드, 기본값 200
    8. 확장:
    9. 확장 속성#🎜 🎜#
    10. @ApiImplicitParams
    11. (요청 매개변수 집합을 설명하는 Controller 메서드에 사용됨)
    12. value: ApiImplicitParam 배열, 다음 참고를 참조하세요.
    13. #🎜 🎜#
    14. # 🎜🎜#@ApiImplicitParam
    15. (요청 매개변수 설명)

      name: #🎜 🎜#매개변수 이름
    #🎜🎜 #value:
  • 매개변수 값
  • defaultValue:매개변수 기본값

    # 🎜🎜#
      required:
    1. 이 필요합니다. , 기본값은 false입니다
      access:
      설명이 너무 많지 않음
    #🎜🎜 #예:
    1. @ApiResponses(그룹 설명 응답)
    2. #🎜 🎜#값: ApiResponse 배열, 다음 참고 참조
    3. #🎜🎜 #
    4. @ApiResponse(응답 설명)
    5. code:
    6. HTTP 상태 코드
    7. message:
      메시지 설명
  • 마지막으로 http를 입력하면 //localhost:8080/swagger-ui.html에 접속할 수 있습니다!

위 내용은 SpringBoot를 Swagger와 통합하는 방법 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제