spring boot 2 통합 swagger-ui 프로 세 스 분석

이 글 은 주로 spring boot 2 통합 swagger-ui 과정 분석 을 소개 하 였 으 며,예시 코드 를 통 해 매우 상세 하 게 소개 되 어 있 으 며,여러분 의 학습 이나 업무 에 대해 어느 정도 참고 학습 가치 가 있 으 므 로 필요 한 분 들 은 참고 하 시기 바 랍 니 다.
1.뮤 직 비디오 의존 도 추가
pom.xml 가입 수정

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.5.0</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.5.0</version>
</dependency>
2.설정 클래스 만 들 기
application.자바 동급 에 Swagger 2 설정 류 Swagger 2 를 만 듭 니 다.

package com.tydt.decision;

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;

@Configuration
@EnableSwagger2
public class Swagger2{
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.tydt.decision.controller"))
        .paths(PathSelectors.any()).build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder().title("Decision Manage Swagger RESTful APIs")
        .description("Decision API")
        .termsOfServiceUrl("http://swagger.io/")
        .contact(new Contact("Beibei", "127.0.0.1", "[email protected]"))
        .version("1.0")
        .build();

  }

}
주:
하면,만약,만약...

필요 한 가방 도입

하지만 시작 할 때 오류 가 발생 했 습 니 다.
이것 은 swagger 가 google 의 guava 에 의존 하기 때문에 의존 도 를 추가 해 야 합 니 다.현재 프로젝트 의 guava 버 전 은 일치 하지 않 습 니 다.

<dependency>
  <groupId>com.google.guava</groupId>
  <artifactId>guava</artifactId>
  <version>15.0</version>
</dependency>
http://localhost:8090/swagger-ui.html 페이지 가 표시 되 지 않 았 습 니 다.
Spring Boot 자동 설정 자체 가 해당 디 렉 터 리 META-INF/resources/아래 에/swagger-ui.html 경 로 를 자동 으로 표시 하지 않 기 때 문 입 니 다.이 맵 을 더 하면 됩 니 다.

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
  
  ……
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("swagger-ui.html")
        .addResourceLocations("classpath:/META-INF/resources/");
    registry.addResourceHandler("/webjars/**")
        .addResourceLocations("classpath:/META-INF/resources/webjars/");

  }
}
위 에서 발생 한 문 제 를 해결 하고 방문 했다.http://localhost:8090/swagger-ui.html 아래 페이지 보 여요.

설명:
(1)@Configuration 주 해 를 통 해 Spring 에서 이 설정 을 불 러 옵 니 다.
(2)@Enable Swagger 2 주석 을 통 해 Swagger 2 를 사용 합 니 다.
(3)createrestapi 함 수 를 통 해 Docket 의 Bean 을 만 든 후 apiInfo()는 이 Api 의 기본 정 보 를 만 드 는 데 사 용 됩 니 다.
(4)select()함 수 는 어떤 인터페이스 가 Swagger 에 노출 되 는 지 제어 하기 위해 ApiSelector Builder 인 스 턴 스 를 되 돌려 줍 니 다.
(5)스 캔 한 패키지 경 로 를 지정 하여 정의 합 니 다.이 패키지 에서 모든 Controller 가 정의 하 는 API 를 스 캔 하고 문서 내용 을 생 성 합 니 다.@ApiIgnore 가 지정 한 것 을 제외 하고.
(6)@ApiOperation 주 해 를 통 해 API 에 설명 추가
(7)@ApiImplicitParams 를 통 해
(8)@ApiImplicitParam 주석 으로 매개 변수 에 설명 추가
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기