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提供说明
标签:
Swagger
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2017-09-09 Java Socket Timeout 总结