api文档一些思考

12 篇文章 1 订阅

前文

  1. 无关api设计,记录对api约定和文档管理

  2. api文档约定问题:

     文档编写麻烦
     变化则需更新文档
     api不可调试
     不可流通主流工具
    
  3. 记录自己解决思路

准备

适用场景
  • 约定api
  • api调试
  • 导出文档
  • 导入postman等主流平台
主流支持
  • 文档格式 doc/markdown/pdf/html/swagger.json
  • 调试模式 swagger-ui/postman
  • 软件平台 yapi/swagger/postman

思路

1. 采用openapi规范编写api文档,具体采用swagger对其的实现,采用代码既文档的管理方式
优点: 
	api文档格式为通用规范,流通性强.
	swagger提供便捷的ui和编辑器,并且流通于主流软件.
局限: 
	api文档编写成本较高,需要框架支撑其便捷性.
语言框架功能
javaswagger-ui注解生成swagger.json
gogo-swagger注释生成swagger.json
pythonflasggerflask使用注释生成swagger.json
其他swagger-edit提供swagger.json编辑器

效果
swagger-edit 效果图

2. 采用swagger-ui来管理swagger文档,使用swagger增强框架Knife4j
优点:
	swagger-ui为swagger提供基础的api调试功能
	knife4f可以提供swagger文档管理,补强文档导出功能/调试功能
	结合第一点框架支持,自带swagger-ui
局限: 
	无法定制化处理

效果
文档导出支持
markdown文档

文档显示

3.使用swagger.json 流通主流平台,例如postman.
优势: 文档即测试
局限: postman暂时不能直接反向生成swagger.json

效果
在这里插入图片描述

相关资源

swagger.io 官方在线编辑器

docker离线swagger 使用localhost:8080访问

docker run --name swagger -p 8080:80  swaggerapi/swagger-editor

docker离线Knife4j 使用localhost:8888/doc访问

I:.
└─knife4
  │  app.yml
  │
  └─data
          swagger.json
server:
  port: 8888  #启动端口
knife4j:
  enableAggregation: true
  disk:       # 使用静态文件格式。还支持在线模式请自行研究
    enable: true
    routes:
      - name: GOK # 文档名称
        location: /app/data/swagger.json #api文档相对路径
docker run --name knife4j -p 8888:8888 -v /i/knife4/app.yml:/app/app.yml -v /i/knife4/data:/app/data - xiaoymin/knife4j
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mars'Ares

请我喝杯咖啡吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值