还在手动维护Yapi?

简介: 因前后端人员通过接口定义字段,返回值等对接时非常苦恼,没有一个很好的平台维护,后端每次迭代都要写开发文档,需求变化,多系统联调等,给前后端联调造成阻塞。

欢迎订阅关注公众号:赵KK日常技术记录

因前后端人员通过接口定义字段,返回值等对接时非常苦恼,没有一个很好的平台维护,后端每次迭代都要写开发文档,需求变化,多系统联调等,给前后端联调造成阻塞。

1、后端开发文档编写规范

1)文档模板统一使用:xxx系统开发文档-模板.docx
2)后端每次迭代需要编写开发文档,并进行技术评审(前端、后端、测试、产品参与)
3)文档的命名方式:《产品名称-V版本号-设计开发文档-编写人》
4) 文档统一保存
5)后端必须在编写业务代码前,优先设计API(Swagger),并提供给测试和前端,最大化并行迭代。
6)允许特殊情况延期提供API,如:需求变化、多系统联调等。

Swagger使用规范

1)后端开发人员必须使用Swagger
2)API接口定义参数时,要明确备注信息和是否必须,样例如下:
public class SupplierReq {
@NotEmpty(message = "姓名必填")
@ApiModelProperty(value = "员工姓名", required = true)
private String name;

@Size(min = 6, max = 64, message = "手机号或工号不能为空,长度介于6~64之间")
@ApiModelProperty(value = "手机号", required = true)
private String telephone;
}
3)API定义业务方法时(Controller层),使用Swagger注解@ApiOperation明确业务方法信息,样例如下:
@PostMapping("/updateCatRateLimit")
@ApiOperation("设置监控项流控QPS")
public CommonResponse updateCatRateLimit(@RequestBody Req req) {

return super.visit(() -> mcenterRateLimitService.updateCatRateLimit(req));

}
具体swagger详细接口请参考:https://swagger.io/docs/

后端接口输出太慢?

流程
当接到新需求,进行产品需求评审-->技术文档编写-->数据库设计-->业务梳理-->测试用例评审等等流程下来,很难在短时间内给出接口,但即便如此,我也没听说过谁会因为后端给不出接口耽误前端开发进度
为了更快速的输出接口等响应,推荐api管理工具APIpost,swagger,Yapi等~
apipost

Swagger遇见Yapi

一 YapiUpload

1、在IDEA->Preferences->Plugins中 输入YapiUpload插件,点击Install,重启IDEA后可以使用。
流程
2、配置项目
在我们已经从git同步的项目,打开.idea文件夹下的misc.xml,添加如下配置。

<component name="yapi">
  <option name="projectToken">yapi中获取项目token</option>
  <option name="projectId">项目ID</option>
  <option name="yapiUrl">http://mock.xxx.com</option>
  <option name="projectType">api</option>
</component>

完整配置如下所示:
流程
获取配置信息:
流程
3、接口上传
这一步是我们日常工作经常使用的操作,在我们编写好的接口类文件中,我们只需选中类名或者选中要上传接口的方法名右键选择“UploadToYapi”,两者的区别是,选择类名会上传此类中的全部接口,选择方法名仅上传单个接口,按需选择即可。参数非空需要加入 @NotNull或@NotEmpty。如果需要将接口传入指定目录下,需要在类上添加注释

流程

批量上传

将本地或者服务器环境生成的swagger.doc/swagger.json地址复制
上传
即可批量上传至Yapi~

目录
相关文章
|
机器学习/深度学习 负载均衡 Java
【SpringBoot系列】微服务远程调用Open Feign深度学习
【4月更文挑战第9天】微服务远程调度open Feign 框架学习
641 2
|
Nacos
服务器部署 Nacos 获取不到配置浏览器可以访问
[Nacos Config] config[dataId=ruoyi-auth.yml,group=DEFAULT_GROUP] is empty、Nacos无法注册、gRPC、端口偏移
415 0
服务器部署 Nacos 获取不到配置浏览器可以访问
|
Java 数据库
使用hutool工具类轻松实现导入导出
只有代码,解释较少,想看详细导入导出:
710 0
|
11月前
|
存储 关系型数据库 MySQL
MySQL中利用FIND_IN_SET进行包含查询的技巧
`FIND_IN_SET`提供了一种简便的方法来执行包含查询,尤其是当数据以逗号分隔的字符串形式存储时。虽然这个方法的性能可能不如使用专门的关系表,但在某些场景下,它提供了快速简便的解决方案。开发者应该根据具体的应用场景和性能要求,权衡其使用。
406 0
|
算法 网络协议 Python
python比较TCP_NODELAY启用与否的耗时
Nagle算法是TCP中的一种流量控制算法,它会将小的数据包合并成大的数据包,减少TCP数据包传输的开销,提高网络传输的效率。但是,Nagle算法会将ACK响应延迟一段时间,导致并不是每个数据包到达服务端都会立即得到响应。对于实时性要求较高的应用,可以禁用Nagle算法,从而使得数据包能够及时到达服务端并立即得到响应。
375 0
|
Java 调度 Python
解决方案:APScheduler定时任务不执行,报错Run time of job ... was missed by ...
解决方案:APScheduler定时任务不执行,报错Run time of job ... was missed by ...
1571 0
解决方案:APScheduler定时任务不执行,报错Run time of job ... was missed by ...
|
应用服务中间件 Linux PHP
linux 查看nginx状态和php-fpm状态 nginx-status和php-status
linux 查看nginx状态和php-fpm状态 nginx-status和php-status
184 0
|
SQL XML Java
工作问题详解:tkMybatis通用mapper封装
工作问题详解:tkMybatis通用mapper封装
574 0
|
Python
python股票量化交易(3)---趋势类指标MACD
虚心屈己,受福之基。彼气盈者,必非远器,纵发亦无受用。
645 0
python股票量化交易(3)---趋势类指标MACD
|
负载均衡 Java Nacos
Springboot集成openFeign实现服务调用
Springboot集成openFeign实现服务调用
1175 0