昨日,有幸收到盲审过了...也就是说,很快我就可以纯粹的研究自己热爱的技术了,可以不必再为了一些杂七杂八的事耽误一些时间了...
不过说实在的,疫情期间,独自在家还是探索了不少技术,比如分布式系统、Vue、ELK、Flink、SpringCloud等,在技术的海洋里面,觉得自己好渺小,TMD多了,何时才是尽头!...同时这期间甚至为兄弟姐妹们直播一些热门技术,辛苦各位了。源于兴趣,总能快乐!
公众号很久未更新,不是没有写,是因为个人网站(http://xiaowantong.xyz)前期的不稳定(不够完美,准备重构),间接导致了更新不太及时,当然直接原因肯定是毕业了嘛,请谅解!
今天要和大家分享的是一款可以提高前后端协作的工具Swagger2。开始之前,我们一起听首music...
在我年轻时(两年前),各种原因导致我呢,单枪匹马闯荡京城...
进入一家企业实习,日常工作就是使用SpringBoot完成接口开发,项目使用前后端分离架构。那也是我首次耳闻前后端分离,一种低耦合的实现方式,即使于现在而言,这也是主流架构。前端与后端开发人员各自完成对应工作,并通过API接口实现数据交互,那么问题就来了,前端待请求的接口地址URL、入参说明、http方法、返回结果说明,实体类说明等信息是不是得有一个文档啊?
最开始,我的解决办法是用word或者excel来解决,简单高效。但是企业级项目,那么多接口(而且接口还可能会修改),会写死人的啊,祈祷着千万别让我干这种事情啊!当时从GitLab上Pull下来工程,我的Leader过来给我讲解项目的一些要点...那是我首次听到Swagger2,简而言之呢,Swagger2就是根据代码自动生成API文档说明的,且具备以下特点:
- 支持多种语言栈
- Swagger UI 呈现出来的是一份可交互式的 API 文档,我们可以直接在文档页面调试接口。
- 支持将文档规范导入相关的工具(如 Postman), 这些工具将会为我们自动地创建自动化测试。
当然,能实现上述功能的组件还有很多,例如knife4J。
要想集成Swagger2,那么首先是引入它的依赖:
建项目
首先使用Maven建立一个SpringBoot项目,当然你也可以直接使用 Spring initializer,anyway!
建完项目改pom。
改完pom,建yml(配置文件)。
就是在resource资源目录下面建立application.yml文件。
然后建立主启动类
集成Swagger2需要进行一些必要配置。
初步建立SwaggerConfig配置类。
接着我们在下面建立一个TestController,编写测试案例:
浏览器打开:,便可以看到以下页面:
- @Api:修饰整个类,描述Controller的作用
- @ApiOperation:描述一个类的一个方法,或者说一个接口
- @ApiParam:单个参数描述
- @ApiModel:用对象来接收参数
- @ApiModelProperty:用对象接收参数时,描述对象的一个字段
- @ApiResponse:HTTP响应其中1个描述
- @ApiResponses:HTTP响应整体描述
- @ApiIgnore:使用该注解忽略这个API
- @ApiError :发生错误返回的信息
- @ApiImplicitParam:描述一个请求参数,可以配置参数的中文含义,还可以给参数设置默认值
- @ApiImplicitParams:描述由多个 @ApiImplicitParam 注解的参数组成的请求参数列表
1、model信息(实体对象)
json交互过程,我们的msg可能是某个DTO(VO,PO,BO...不管是什么O,本质上都是一个对象),那么对于对象的各个字段得有说明吧,前端兄弟才能整明白!
建立用户实体类:
自己对照即可,此处不再赘述!
2、接口请求参数说明
前端调用接口,需要些什么参数。
当然啦,直接在方法函数入参里去写,会导致可读性较差,因此还可以这样来表述:
3、接口请求响应结果说明
4、合理启停
生成文档肯定是比较耗时耗资源的,因此只建议在开发时开启,而在产品上线时就应该将此功能关闭了。那么一般怎么去实现呢?实现方式挺多的,这里仅介绍一种主流方法。
思路:一般的,一个SpringBoot项目存在多份配置文件,例如application-dev.yml、application-test.yml、application-release.yml,我们可以根据当前启用的哪份配置文件进而推测出项目运行时环境。
除此之外,Swagger的配置代码中可以启停自身。
天时地利人和,此时只剩下一个问题,就是获取环境信息,具体代码如下:
5、将API批量导入Postman工具
step1:复制连接
step2:打开postman > import > import from link
说明:可能baseUrl最开始不正确,需要重新编辑一下:
本篇完。
明儿一大早就去西安了...
更多文章请关注:刘周的小网站。
到此这篇swagger2访问路径(swagger如何访问)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/72670.html