在前后端分离开发的过程中,前端和后端需要进行api对接进行交互,就需要一个api规范文档,方便前后端的交互,但api文档不能根据代码的变化发生实时动态的改变,这样后端修改了接口,前端不能及时获取最新的接口,导致调用出错,需要手动维护api文档,加大了开发的工作量和困难,而swagger的出现就是为了解决这一系列的问题。
补充:
swagger主要包含了以下三个部分:
- swagger editor:基于浏览器的编辑器,我们可以使用它编写我们OpenApi规范(yaml或者json配置)
- Swagger UI:他会将我们编写的OpenApi规范呈现为交互式的API文档,后文我将使用浏览器来查看并且操作我们的RestApi
- Swagger Codegen:它可以通过OpenApi规范定义的任何API生成服务器存根和客户端SDK来简化构建过程
使用swagger就是把相关信息存储在它定义的描述文件里面(yml或json格式),再通过维护这个描述文件可以去更新接口文档,以及生成各端代码
5、启动项目,并在浏览器输入进行swagger-ui界面访问
4.1 swagger的基础信息配置-->config类
4.2 swagger扫描包配置
4.3 配置是否开启swagger
需求:开发和测试环境中开启swagger,其他环境不开启
4.3 swagger分组配置
每个组就是一个docket实例,多个组就是创建多个docket的实例
注意:
swagger注解主要是用来给swagger生成的接口文档说明用的
5.1 @Api
- @Api:是类上注解,控制整个类生成接口信息的内容
- tags:类的名称,可以有多个值,多个值表示多个副本,在UI视图中就显示几个控制器访问菜单
- description:描述,已过时
5.2 @ApiOperation
- @ApiOperation:方法的说明,value值必须提供
- value:说明方法的作用
- notes:方法的备注说明
5.3 @ApiParam
- @ApiParam:可以作用于方法参数和成员变量
- name:参数别名
- value:参数的描述
- required:是否必须需要
5.4 @ApiIgnore
- @Apilgnore:忽略,当前注解描述的方法或类型,不生成api文档
5.5 @ApiImplicitParam和@ApiImplicitParams
- @ApiImplicitParam:使用在方法上,描述方法的单个参数
- name:参数名称
- value:描述
- required:是否必要参数
- paramType:参数类型
- dataType:数据类型
- @ApiImplicitParams:使用在方法上,描述方法的一组参数
- value:是@ApiImplicitParam类型的数组
- value:是@ApiImplicitParam类型的数组
5.6 @ApiModel和@ApiModelProperty
- @ApiModel:描述一个实体类型,这个实体类型如果成为任何一个生成api帮助文档方法的一个返回值类型的时候,此注解被解析
- value:自定义实体
- description:详细描述
- @ApiModelProperty:实体类属性描述
- name:字段别名
- value:字段描述
- required:是否是必须字段
- example:示例数据
- hidden:是否隐藏数据
5.7 @ApiResponse和@ApiResponses
@ApiResponses、@ApiResponse方法返回值的说明
- @ApiResponses:方法返回对象的说明
- @ApiResponse:每个参数的说明
- code:数字,例如:300
- message:信息,例如:”请求参数没填好"
- response:抛出异常的类
5.8 其他注解
- @Authorization:声明要在资源或操作上使用的授权方案
- @AuthorizationScope:描述OAuth2授权范围
- @ResponseHeader:表示可以作为响应的一部分提供的标头
- @ApiProperty:描述POJO对象中的属性值
- @ApiError:接口错误所返回的信息
- 我们可以通过swagger给一些比较难理解的属性或接口,增加注释信息
- 接口文档实时更新
- 可以在线测试
- 在正式发布的时候,关闭swagger,出于安全考虑,而且节省内存
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/68953.html