SpringBoot 통합 Swagger 2 의 예제

1.maven 가방 가 져 오기

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>
2.도구 류 추가

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .pathMapping("/")
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.nvn.controller"))
        .paths(PathSelectors.any())
        .build().apiInfo(new ApiInfoBuilder()
            .title("SpringBoot  Swagger")
            .description("SpringBoot  Swagger,    ......")
            .version("1.0")
            .build());
  }
}
3.주석 추가

@RestController
@Api(tags = "        ")
@RequestMapping("/user")
public class UserController {

  @PostMapping("/")
  @ApiOperation("       ")
  @ApiImplicitParams({
      @ApiImplicitParam(name = "username", value = "   ", defaultValue = "  "),
      @ApiImplicitParam(name = "address", value = "    ", defaultValue = "  ", required = true)
  }
  )
  public RespBean addUser(String username, @RequestParam(required = true) String address) {
    return new RespBean();
  }

  @GetMapping("/")
  @ApiOperation("  id       ")
  @ApiImplicitParam(name = "id", value = "  id", defaultValue = "99", required = true)
  public User getUserById(@PathVariable Integer id) {
    User user = new User();
    user.setId(id);
    return user;
  }
  @PutMapping("/{id}")
  @ApiOperation("  id       ")
  public User updateUserById(@RequestBody User user) {
    return user;
  }
}
주해 설명
  • @Api 주 해 는 현재 Controller 의 기능 을 표시 할 수 있 습 니 다
  • @ApiOperation 주 해 는 하나의 방법의 역할 을 표시 합 니 다
  • @Api ImplicitParam 주 해 는 매개 변 수 를 설명 하 는 데 사용 되 며,매개 변수의 중국어 의 미 를 설정 할 수도 있 고,매개 변수 에 기본 값 을 설정 할 수도 있 으 며,인터페이스 테스트 를 할 때 수 동 입력 을 피 할 수 있 습 니 다
  • 여러 개의 인자 가 있 으 면 여러 개의@Api ImplicitParam 주 해 를 사용 하여 설명 해 야 합 니 다.여러 개의@Api ImplicitParam 주 해 는@Api ImplicitParams 주해 에 넣 어야 합 니 다
  • @Api ImplicitParam 주해 에서 매개 변 수 를 지정 하 는 것 은 필수 이지 만@RequestParam(required=true)을 대체 할 수 없습니다.전자의 필 요 는 Swagger 2 프레임 워 크 에 만 필수 입 니 다.Swagger 2 를 버 리 면 이 제한 은 소 용이 없습니다.따라서 개발 자가 매개 변 수 를 지정 하려 면 반드시 작성 해 야 합 니 다.@RequestParam(required=true)주 해 는 생략 할 수 없습니다.
  • 5.매개 변수 가 하나의 대상 이 라면 매개 변수 에 대한 설명 은 실체 류 에 넣 을 수 있 습 니 다.
    
    @ApiModel
    public class User {
      @ApiModelProperty(value = "  id")
      private Integer id;
      @ApiModelProperty(value = "   ")
      private String username;
      @ApiModelProperty(value = "    ")
      private String address;
      //getter/setter
    }
    효과

    첨부:우리 의 Spring Boot 프로젝트 에 Spring Security 가 통합 되 어 있다 면 추가 설정 을 하지 않 으 면 Swagger 2 문서 가 차단 될 수 있 습 니 다.이 때 Spring Security 설정 류 에 configure 방법 을 다시 쓰 고 다음 과 같은 여과 방법 을 추가 하면 됩 니 다.
    
    @Override
    public void configure(WebSecurity web) throws Exception {
      web.ignoring()
          .antMatchers("/swagger-ui.html")
          .antMatchers("/v2/**")
          .antMatchers("/swagger-resources/**");
    }
    이상 은 SpringBoot 통합 Swagger 2 의 예제 에 대한 상세 한 내용 입 니 다.SpringBoot 통합 Swagger 2 에 관 한 자 료 는 다른 관련 글 을 주목 하 세 요!

    좋은 웹페이지 즐겨찾기