20190909 SpringBoot集成Swagger

SpringBoot集成Swagger

1. 引入依赖

// SpringBoot
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-actuator')

// springfox-swagger
compile('io.springfox:springfox-swagger2:2.9.2')
compile('io.springfox:springfox-swagger-ui:2.9.2')

2. 配置类

2.1. 配置WebMvc

@Configuration
@EnableWebMvc
public class WebMvcConfig {

}

2.2. 配置Swagger

@Configuration
@EnableSwagger2
public class SwaggerConfig implements WebMvcConfigurer {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("test.hwj.swagger"))
                .paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("测算项目").description("测算项目API接口文档").version("1.0").build();
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
}

3. 常用注解

3.1. @Api

用于声明类,属性tags提供说明

3.2. @ApiOperation

用于声明方法,属性value提供说明

3.3. @ApiParam

用于声明参数,属性value提供说明,属性required显示是否为必需项,默认为false

3.3. @ApiImplicitParams和@ApiImplicitParam

用于声明方法,说明方法的参数,与@ApiParam不同之处在于:
1. 将对参数的说明放在方法声明上,集中在一起;
2. @ApiParam只适用于和JAX-RS 1.x/2.x联合使用;

3.4. @ApiModel()

用于声明实体类,属性value提供说明

@ApiModelProperty

用于声明实体类字段,属性value提供说明

posted @ 2019-09-09 16:48  流星<。)#)))≦  阅读(172)  评论(0编辑  收藏  举报