• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

springboot2.x集成swagger的方法示例

springboot 搞代码 4年前 (2022-01-05) 31次浏览 已收录 0个评论

这篇文章主要介绍了springboot2.x集成swagger的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

集成swagger

pom包配置

  io.springfoxspringfox-swagger22.9.2<!-- swagger-ui --> io.springfoxspringfox-swagger-ui${swagger.version}

添加Swagger配置文件

 @Configuration @EnableSwagger2 public class SwaggerConfig { /** * 创建一个Docket对象 * 调用select()方法, * 生成ApiSelectorBuilder对象实例,该对象负责定义外漏的API入口 * 通过使用RequestHandlerSelectors和PathSelectors来提供Predicate,在此我们使用any()方法,将所有API都通过Swagger进行文档管理 * @return */ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() //标题 .title("Spring Boot中使用Swagger2构建RESTful APIs") //简介 .description("") //服务条款 .termsOfServiceUrl("") //作者个人信息 .contact(new Contact("chenguoyu","","[email protected]")) //版本 .version("1.0") .build(); } } 

如果不想将所有的接口都通过swagger管理的话,可以将RequestHandlerSelectors.any()修改为RequestHandlerSelectors.basePackage()

配置静态访问资源

 @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 解决 swagger-ui.html 404报错 registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); } } 

到这里为止swagger就已经配置完了,可以启动项目,然后访问如下链接即可http://localhost:9000/swagger…

端口号applicationContext中设置的端口号。

集成swagger-bootstrap-ui

由于个人感觉原生的swagger-ui不太好看,网上提供了swagger-bootstrap-ui。

pom依赖

  com.github.xiaoyminswagger-bootstrap-ui1.9.3

配置静态访问资源

 @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 解决 swagger-ui.html 404报错 registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); // 解决 doc.html 404 报错 registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); } } 

这时只需要访问以下链接即可http://localhost:9000/doc.html

swagger常用注解

@Api:用在类上,标志此类是Swagger资源

属性名称 备注
value 该参数没什么意义,在UI界面上不显示,所以不用配置
tags 说明该类的作用,参数是个数组,可以填多个
description 对api资源的描述

@ApiOperation:用在方法上,描述方法的作用

属性名称 备注
value 方法的用途和作用
tags 方法的标签,可以设置多个值
notes 方法的注意事项和备注
response 返回的类型(尽量不写,由swagger扫描生成)

@ApiImplicitParams:包装器:包含多个ApiImplicitParam对象列表

属性名称 备注
value 多个ApiImplicitParam配置

@ApiParam:用于Controller中方法的参数说明

属性名称 备注
name 属性名称
value 属性值
defaul

来源gaodai^.ma#com搞#代!码网

tValue

默认属性值
allowableValues 可以不配置
required 是否属性必填
allowMultiple 文件上传时,是否允许多文件上传

@ApiImplicitParam:定义在@ApiImplicitParams注解中,定义单个参数详细信息,如果只有一个参数,也可以定义在方法上

属性名称 备注
name 参数名
value 参数说明
dataType 参数类型
paramType 表示参数放在哪里
header : 请求参数的获取:@RequestHeader
query : 请求参数的获取:@RequestParam
path : 请求参数的获取:@PathVariable
body : 不常用
form : 不常用
defaultValue 参数的默认值
required 参数是否必须传

@ApiModel:用在类上,表示对类进行说明,用于实体类中的参数接收说明

属性名称 备注
value 默认为类的名称
description 对该类的描述

@ApiModelProperty:在model类的属性添加属性说明

属性名称 备注
value 属性描述
name 属性名称
allowableValues 参数允许的值
dataType 数据类型
required 是否必填

@ApiResponses:包装器:包含多个ApiResponse对象列表

属性名称 备注
value 多个ApiResponse配置

@ApiResponse:定义在@ApiResponses注解中,一般用于描述一个错误的响应信息

属性名称 备注
code 响应码
message 状态码对应的响应信息
response 默认响应类 Void
responseContainer 参考ApiOperation中配置

@ApiIgnore():用于类或者方法上,不被显示在页面上

总结

除上面之外有点值得注意的是,如果是上传文件的话,需要把@ApiImplicitParam中的dataType属性配置为__File否则在swagger中会显示为文本框而不是上传按钮

如果需要项目代码,可以去我的github中下载;具体代码可以查看swagger目录

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

以上就是springboot2.x集成swagger的方法示例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:springboot2.x集成swagger的方法示例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址