java 单机接口限流处理方案
401
2022-11-07
本文目录一览:
我们在项目开发完成,接口写好后,需要将接口文档给到前端同学,或者合作方的工程师。但 swagger 对接口阅读并不友好,大部分情况下还得把服务启动好才能访问。
第一步:准备 swagger json
打开 swagger ui 的页面
点击 swagger json 的链接(可能没有显示该链接)
请点击输入图片描述
请点击输入图片描述
如果你的 swagger 页面没有显示该链接,F12打开开发者工具,重新刷新后,复制 api-docs 的响应内容。
请点击输入图片描述
请点击输入图片描述
在弹出的tab页中或者 api-docs 的内容,复制下来或者保存到本地文件中
第二步:将 swagger json 导入 docway
登录
在控制台中,新增项目,选择 导入
选择 swagger 导入,并根据自己的 swagger json 选择是“上传文件方式”还是“粘贴json方式”
请点击输入图片描述
请点击输入图片描述
导入后,便可以看到项目信息了
请点击输入图片描述
第三步:导出 PDF markdown
在项目的“更多设置”中,找到“项目导出”功能。可以选择 PDF Markdown 导出。
首先要有一个文档的标题,XXX接口文档,符合当前文档的说明,文档的生产日期,以及公司名称等。现在开始写一个dubbo接口文档,定义标题,以及日期,这里公司省略。使用confluence在线编辑,Confluence为团队提供一个协作环境。团队成员协同地编写文档和管理项目。从此打破不同团队、不同部门以及个人之间信息孤岛的僵局,Confluence实现了资源的共享。
接下来要有当前文档的版本修订信息,即为历史修订信息,应当包含基础的信息有:版本号、修订日期、修订人、修订说明等。
开始编写文档的目录结构,注意大标题和小标题的使用,需要合理的运用说明。首先当然是文档的说明信息,再来是一些准备信息和流程信息,然后开始接口说明,最后可以有举例、常见问题、注意事项、响应码的说明信息等等。
下面开始按照文档的目录结构逐一进行详细的介绍说明,比如文档说明的介绍,用高效简洁的语言明确的说明文档信息,注意文档中大标题应当字体大小样式一致,小标题也应当字体大小注意保持一致。
简单的说明技术资料获取及准备,确认调用系统信息比较重要,需要确认编码格式,防止乱码,确认当前的文档版本是否是要使用的版本,否则白做无用功,项目的搭建环境简单说明即可。
开始说明接口的调用流程,如何调用接口,需要做的一些准备,说明引入相应的依赖以及配置需要配置的文件。
现在可以开始接口的说明,接口的说明信息应当包含接口的名称,接口的地址,接口的协议,然后针对当前接口下的方法说明。
方法的说明应当包含方法的描述,即其作用,方法的请求参数说明,以及响应的参数说明,参数说明应当包含参数的类型,参数名称,参数的含义,并且备注参数是否必须传递。
9
接口说明完之后,就是文档的末尾,有注意事项添加一些注意事项,或者附录说明,添加标注。
作为一个前后端分离模式开发的团队,我们经常会看到这样的场景:前端开发和后端开发在一起热烈的讨论“你这接口参数怎么又变了?”,“接口怎么又不通了?”,“稍等,我调试下”,“你再试试..."。
那能不能写好接口文档,大家都按文档来开发?很难,因为写文档、维护文档比较麻烦,而且费时,还会经常出现 API 更新了,但文档还是旧的,各种同步不一致的情况,从而耽搁彼此的时间。
之前我们团队也遇到了同样的问题,那么作为研发团队的负责人,我是如何带领团队解决这个问题的呢?
方法其实很简单,如果能做到让写文档/维护文档这件事情的短期收益就能远高于付出的成本,那么所有问题都能迎刃而解,开发人员就会非常乐意去写接口文档。
要做到写文档和及时维护文档的短期收益就能远高于付出的成本,无非两个方向:
鉴于此,我们设想如果有一款工具做到以下这些是不是就非常爽了?
总结下来,我们需要的就是这么一款工具:
文档资料承载企业的发展记忆、经验以及成果,一般管理只停留在个人或部门层面,这些重要的文档会因为员工离职而丢失,因为时间推移而失去记忆,也会因为使用不规范而出现遗失、损坏,更有被恶意扩散导致形成损失的可能。
企业普遍会把文档管理理解成文件的备份和保存,变成了一个额外的工作,且不说员工会抵触,也没有考虑到如何将文档管理与日常业务中的问题相结合,往往难以达到理想的效果。
会博通文档管理系统解决方案:
集中统一管理企业内部不同层级、类型的文档资料
文档协同化管理,应用到具体业务中,不再成为“额外工作量”
不限单一地域、单一时间,全面实现移动化应用(多终端、协作、互助)
强大的适应性选件,让文档管理与应用更具效能
文档安全控制,让组织的核心竞争力得以安全地传播与利用
一些刚开始写接口文档的服务端同学,很容易按着代码的思路去编写接口文档,这让客户端同学或者是服务对接方技术人员经常吐槽,看不懂接口文档。这篇文章提供一个常规接口文档的编写方法,给大家参考。
一、请求参数
1. 请求方法
GET
用于获取数据
POST
用于更新数据,可与PUT互换,语义上PUT支持幂等
PUT
用于新增数据,可与POST互换,语义上PUT支持幂等
DELETE
用于删除数据
其他
其他的请求方法在一般的接口中很少使用。如:PATCH HEAD OPTIONS
2. URL
url表示了接口的请求路径。路径中可以包含参数,称为地址参数,如**/user/{id}**,其中id作为一个参数。
3. HTTP Header
HTTP Header用于此次请求的基础信息,在接口文档中以K-V方式展示,其中Content-Type则是一个非常必要的header,它描述的请求体的数据类型。
常用的content-type:
application/x-www-form-urlencoded
请求参数使用“”符号连接。
application/json
内容为json格式
application/xml
内容为xml格式
multipart/form-data
内容为多个数据组成,有分隔符隔开
4. HTTP Body
描述http body,依赖于body中具体的数据类型。如果body中的数据是对象类型。则需要描述对象中字段的名称、类型、长度、不能为空、默认值、说明。以表格的方式来表达最好。
示例:
二、响应参数
1. 响应 HTTP Body
响应body同请求body一样,需要描述请清除数据的类型。
另外,如果服务会根据不同的http status code 返回不同的数据结构, 也需要针对不同的http status code对内容进行描述。
三、接口说明
说明接口的应用场景,特别的注意点,比如,接口是否幂等、处理是同步方式还是异步方式等。
四、示例
上个示例(重点都用红笔圈出来,记牢了):
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~