swagger2.0api存数据库(swagger api文档)

swagger2.0api存数据库(swagger api文档)Swagger 的作用 自动生成强大的 RESTful API 文档 减少开发人员的工作量 使用 Swagger 只需在代码中添加一些注解即可生成 API 接口文档 不需要手动编写 API 接口文档 这减少了开发人员的工作量 提供 API 文档的同步更新 通过使用 Swagger API 文档可以与代码同步更新 保持文档与实际代码的一致性 方便团队的沟通和协作 提供 API 文档的可视化展示

大家好,我是讯享网,很高兴认识大家。



文档效果图
讯享网

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文件的两个依赖换成如下即可:

 


小讯
上一篇 2025-06-12 16:37
下一篇 2025-05-28 10:12

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/149168.html