SpringBoot 통합 Swagger 2 절차 상세 설명

간단 한 소개
swagger 는 유행 하 는 API 개발 프레임 워 크 입 니 다.이 프레임 워 크 는'오픈 API 성명'(OpenAPI Specification,OAS)을 바탕 으로 전체 API 의 개발 주기 에 해당 하 는 해결 방안 을 제공 하 는 매우 방대 한 프로젝트(디자인,인 코딩,테스트 를 포함 하여 거의 모든 언어 를 지원 합 니 다)입 니 다.
springfox 대체 원리:
springfox 의 대체적인 원 리 는 프로젝트 가 시 작 된 과 종 에서 spring 컨 텍스트 가 초기 화 되 는 과정 에서 프레임 워 크 는 설정 에 따라 swagger 와 관련 된 bean 을 현재 컨 텍스트 에 자동 으로 불 러 오고 자동 검색 시스템 에서 api 문서 와 같은 종 류 를 생 성하 여 해당 하 는 정보 캐 시 로 생 성 할 수 있 습 니 다.프로젝트 MVC 제어 층 이 springMvc 를 사용한다 면 모든 Controller 류 를 자동 으로 검색 하고 해당 하 는 문서 설명 데 이 터 를 생 성 합 니 다.이 데 이 터 는 json 형식 입 니 다.경로:프로젝트 주소/v2/api-docs 를 통 해 이 데 이 터 를 방문 한 다음 swaggerUI 는 이 데이터 에 따라 해당 하 는 문서 설명 인터페이스 를 생 성 합 니 다.우 리 는 이 데 이 터 를 얻 을 수 있 기 때문에,우 리 는 자신의 페이지 를 생 성 할 수 있다.
SpringBoot 통합 Swagger 2
도입 의존

<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger2</artifactId>
   <version>2.7.0</version>
</dependency>
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger-ui</artifactId>
   <version>2.7.0</version>
</dependency>
메모:jdk 1.8 이상 이 어야 swagger 2 를 실행 할 수 있 습 니 다.
설정 클래스 설정 작성 Swagger

@Configuration
@EnableSwagger2
public class SwaggerConfig{
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("org.example.yourproject"))//      package
                .paths(PathSelectors.any())
                .build();
    }//springfox        Docket(     ) ,          Bean   spring ,   ,          ,       (         )    ,    Swagger    。
  
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot   Swagger2  RESTful API")
                .description("rest api       ")
                .termsOfServiceUrl("https://www.cnblogs.com/yrxing/")
                .contact("xing")
                .version("1.0")
                .build();
    }
  
}//springfox            ApiInfo  ,        Docket


접근:http://localhost:{your_server_port}/swagger-ui.html
Swagger 2 상용 주해 사용

@Api()、@ApiOperation()

@RestController
@RequestMapping(value = "/user", produces = APPLICATION_JSON_VALUE) //      application/json
@Api(tags = "    ")
public class HelloController {
  
    ArrayList<User> users = new ArrayList<>();
  
    @ApiOperation(value = "      ", notes = "        ")
    @RequestMapping(value = {""}, method = RequestMethod.GET)
    public List<User> hello() {
        users.add(new User("  ", "luoji"));
        users.add(new User("   ", "yewenjie"));
        return users;
    }
}
@ApiModel()、@ApiModelProperty()

@ApiModel(description = "  ",value = "  ")
public class User {
  
    private String id;
  
  @ApiModelProperty(value = "   ")//value           (   Description)
    private String username;
  
   @ApiModelProperty(hidden = true)//               ,   hidden     true ,             api  .
    private String password;
  
    private String email;
  
    private Integer age;
  
    private Boolean enabled;
  
}
@ApiParam()

@ApiOperation(value = "        ", notes = "  url id         ")
 @RequestMapping(value = "getUser/{id}", method = RequestMethod.GET)
 
 public User getUser(@ApiParam(naeme = "id",value = "  id", required = true)  @PathVariable(value = "id") String id) {
     return new User(id, "itguang", "123456");
 }//@ApiParam    ,      ,           ,          . 
@ApiImplicitParams()、@ApiImplicitparam()

    ・・・
  @Api("    1")
  @Controller
  public class swaggerTestUse(){
      @ApiOperation(value = "apiOperationSwaggerTest", notes = "apiOperationSwagger  ")
      @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id  ", required = true, dataType = "Integer", paramType = "query"),
                        @ApiImplicitParam(name = "brand", value = "brand", required = true, dataType = "BRAND", paramType = "body")
    })
      public void apiOperationSwaggerTest(Integer id, Brand band){
      }
  }
이상 은 SpringBoot 통합 Swagger 2 의 절차 에 대한 상세 한 내용 입 니 다.SpringBoot 통합 Swagger 2 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!

좋은 웹페이지 즐겨찾기