当前位置:网站首页 > R语言数据分析 > 正文

swagger2访问路径(swagger如何访问)



昨日,有幸收到盲审过了...也就是说,很快我就可以纯粹的研究自己热爱的技术了,可以不必再为了一些杂七杂八的事耽误一些时间了...

不过说实在的,疫情期间,独自在家还是探索了不少技术,比如分布式系统、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!

02f12b8afaa34d77c3b688b621c96f6d.png

建完项目改pom。

改完pom,建yml(配置文件)。

就是在resource资源目录下面建立application.yml文件。

然后建立主启动类

集成Swagger2需要进行一些必要配置。

初步建立SwaggerConfig配置类。

接着我们在下面建立一个TestController,编写测试案例:

浏览器打开:,便可以看到以下页面:

260f5ed0ef298cbf737e91e6743f040c.png

  • @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,本质上都是一个对象),那么对于对象的各个字段得有说明吧,前端兄弟才能整明白!

建立用户实体类:

c93dddb9eeabee16094b5585a0420ca1.png

自己对照即可,此处不再赘述!

2、接口请求参数说明

前端调用接口,需要些什么参数。

d83cae6912d8f2fd28fa8d84ea0c67c3.png

当然啦,直接在方法函数入参里去写,会导致可读性较差,因此还可以这样来表述:

a0e78d83d917cdb1aec528136e74d98c.png

3、接口请求响应结果说明

0d85e53230dc2c01b8fd8adaa5bbd786.png

4、合理启停

生成文档肯定是比较耗时耗资源的,因此只建议在开发时开启,而在产品上线时就应该将此功能关闭了。那么一般怎么去实现呢?实现方式挺多的,这里仅介绍一种主流方法。

思路:一般的,一个SpringBoot项目存在多份配置文件,例如application-dev.yml、application-test.yml、application-release.yml,我们可以根据当前启用的哪份配置文件进而推测出项目运行时环境。

5af7fe21493ac317026803a5dc2d7f1f.png

除此之外,Swagger的配置代码中可以启停自身。

9e3f4dc5d81d6fa08651c75b70118dc3.png

天时地利人和,此时只剩下一个问题,就是获取环境信息,具体代码如下:

5、将API批量导入Postman工具

step1:复制连接

69a14a9dd99fa488a143e265e3fb0a67.png

step2:打开postman > import > import from link

67667f54b0573e038137c1f671c6a48f.png

e7c9f9c46ac81c7345be92c5787d155c.png

374e0fd0c6282fcf557bf531b090ac20.png

865992a6fa1a097659114c81fa796be4.png

说明:可能baseUrl最开始不正确,需要重新编辑一下:

f500495309817c7c3fd3e58535048f9c.png

本篇完。

明儿一大早就去西安了...

更多文章请关注:刘周的小网站

到此这篇swagger2访问路径(swagger如何访问)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • esp8266获取天气教程(arduino esp8266天气)2025-05-25 21:09:07
  • 查看docker0(查看Docker镜像列表使用的命令( ))2025-05-25 21:09:07
  • 查看docker版本号命令(查看docker-compose版本)2025-05-25 21:09:07
  • yuv rgb哪个好(yuv比rgb好)2025-05-25 21:09:07
  • gmscore官方下载(gmscore服务下载官网)2025-05-25 21:09:07
  • pass平台厂商(passport平台)2025-05-25 21:09:07
  • shoulderpress器械使用(precor器械使用方法)2025-05-25 21:09:07
  • transformer复现(shiro复现)2025-05-25 21:09:07
  • spark笔试题(spark面试题目)2025-05-25 21:09:07
  • hpl是什么文件(hprof是什么文件)2025-05-25 21:09:07
  • 全屏图片