SpringBoot Swagger 2 기반 API 문서 구축 프로 세 스 분석

의존 추가

<!--SpringBoot  Swagger2  API     -->
    <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>
2.Swagger 2 설정 클래스 만 들 기

package com.offcn.config;

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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration//          ,   spring  xml    
@EnableSwagger2 //      
public class SwaggerConfig {

  //1.   api      
  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("Spring Boot   Swagger2  RESTful APIs")
        .description("   ")
        .termsOfServiceUrl("http://www.ujiuye.com/")
        .contact("    ")
        .version("1.0")
        .build();
  }

  //        
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.offcn.controller"))
        .paths(PathSelectors.any())
        .build();
  }
}
3.컨트롤 러 수정 문서 설명 추가
@ApiOperation 주 해 를 통 해 API 에 대한 설명 을 추가 합 니 다.
통과ApiImplicitParams@ApiImplicitParam주 해 를 통 해 매개 변수 에 설명 을 추가 합 니 다.

package com.offcn.controller;

import com.offcn.dao.UserDao;
import com.offcn.entity.User;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/rest")
@RestController
public class RestFulController {

  @Autowired
  private UserDao userDao;

  @GetMapping("/getUserById")
  @ApiOperation(value="    id    ", notes="  id      ")
  @ApiImplicitParams({
      @ApiImplicitParam(name = "id", value = "  ID", required = true, dataType = "Integer"),
  })
  public User getUserById(Integer id){
    User user = userDao.getOne(id);
    return user;
  }

  @DeleteMapping("/del")
  @ApiOperation(value="    id    ", notes="  id      ")
  @ApiImplicitParams({
      @ApiImplicitParam(name = "id", value = "  ID", required = true, dataType = "Integer"),
  })
  public String delUserById(Integer id){
    userDao.deleteById(id);
    return "success";
  }
}

4.Swagger 2 문서 보기
항목 다시 시작
접근:
http://localhost:8080/swagger-ui.html
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기