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提供说明

04-28 02:22