Swagger的作用:
自动生成强大的RESTful API文档,减少开发人员的工作量。使用Swagger,只需在代码中添加一些注解即可生成API接口文档,不需要手动编写API接口文档,这减少了开发人员的工作量。
提供API文档的同步更新:通过使用Swagger,API文档可以与代码同步更新,保持文档与实际代码的一致性,方便团队的沟通和协作。
提供API文档的可视化展示:生成的API文档页面具有良好的可视化效果,使API接口的信息更加易于理解和使用。
提供API接口的测试功能:生成的API文档页面带有测试功能,可以在文档中直接进行API接口的测试,方便开发人员进行接口调试和验证。
需要注意的是,有人认为使用Swagger与代码耦合在一起,这一点在不同的团队和项目中可能会有不同的看法。有些人认为这种方式提供了便利和一致性,而有些人则认为它可能导致代码的臃肿和维护的困难。因此,对于是否使用Swagger,应根据具体的项目需求和团队的偏好进行评估和决策。
👆👆👆请使用以上版本依赖即可👆👆👆
👇👇👇直接使用以下版本会报错(以下依赖不用添加进pom文件),具体原因请看文章底部问题解决👇👇👇
详细注解可参考官方:https://github.com/swagger-api/swagger-core/wiki/Annotations
Swagger常用注解:
@Api:用在类上,说明该类的作用;
@ApiOperation:用在方法上,说明方法的作用;
@ApiImplicitParams:用在方法上包含一组参数说明;@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面:
paramType:参数放在哪个地方;
header–>请求参数的获取:@RequestHeader;
query–>请求参数的获取:@RequestParam;
path–>请求参数的获取:@PathVariable (用于restful接口);
body(不常用);
form(不常用);
name:参数名;
dataType:参数类型;
required:参数是否必须传;
value:参数的意思;
defaultValue:参数的默认值;@ApiResponses:用于表示一组响应;
@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息;
code:数字,例如400;
message:信息,例如 “请求参数不合法”;
response:抛出异常的类;@ApiIgnore:使用该注解忽略这个API,在页面上不显示;
@ApiModel:描述一个Model的信息;
@ApiModelProperty:描述一个model的属性;swagger安全性问题: 正式上线的时候,建议关闭swagger。
报错可能原因:SpringBoot版本和Swagger版本不匹配导致(Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的则是PathPatternMatcher)
解决方法:
1、修改SpringBoot的版本,使用早期版本;
2、yml配置文件中添加如下配置(设置"ant_path_matcher"作为匹配策略):
报错可能原因:@ApiImplicitParams注解属性中的参数类型出了问题,空字符串""无法转成Number。(swagger版本的问题,之前使用的是io.springfox:springfox-swagger2:2.9.2的版本,而该版本依赖了swagger-models的1.5.20版本(会导致报此错),深挖原因是1.5.20版本中的example只判断了是否为null,没有判断是否为空串;1.5.21版本对两者都进行了判断。)
解决方法:
1、在注解中为int属性的参数添加一个默认值属性(example = “1”):
2、排除springfox-swagger2中的swagger-models依赖,导入io.swagger:swagger-models的1.5.21版本。将之前导入pom文件的两个依赖换成如下即可:
到此这篇swagger2.0api存数据库(swagger api文档)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/27918.html