专业网站优化案例,五个推进网站建设工作,网站网站设计的公司,北京最近发布会直播title: swaggerUI不好用#xff0c;试试这个openapiUI? date: 2024-01-08 categories: [tool] tags: [openapi,工具] description: 基于swaggger2, openapi3规范的UI文档
1.背景
由于长期使用 swaggerUI 工具#xff0c;它的轻量风格个人觉得还是不错的#xff0c;但是它…
title: swaggerUI不好用试试这个openapiUI? date: 2024-01-08 categories: [tool] tags: [openapi,工具] description: 基于swaggger2, openapi3规范的UI文档
1.背景
由于长期使用 swaggerUI 工具它的轻量风格个人觉得还是不错的但是它的整体使用体验确实不好用过的可能都有体会这里就不一一列举了由于语言表达能力有限手动保命毕竟我在说鼻祖等下会不会被砍开源的openapi文档redoc由于默认的服务器在国外测试调用接口体验也不咋好还有就是UI风格有点不习惯可能看习惯了swaggerUI的缘故强大的apifox除了强行喷不喜欢它的UI风格请求参数和model定义成嵌套表格展示有点难受好像找不出什么理由了整体还是灰常好用的以上种种其实都是废话不装了摊牌了强行找的理由而已
2.简单介绍下openapiUI(对标swaggerUI)
2.1.openapiUI是一个简单轻量、比 swagger-ui 更美观的 openapi 接口文档可以快速的生成模拟请求参数并调用 api 请求2.2.openapiUI的github地址是github.com/rookie-luochao/openapi-ui求star求一起共同建设灰常感谢
3.openapiUI网站域名
CN: www.openapi-ui.comUS: docs.openapi-ui.com
4.项目技术栈
因为项目功能不是特别复杂也不需要考虑兼容性所以项目的技术栈非常新颖追着版本跑的那种如同有需要你可以学习下项目的技术架构项目主要技术栈为vite5 react18 typescript5 react-router6 antd5 zustand4 emotion(cssinjs) docker docker容器化部署 docker环境变量注入项目工程化配置为eslint typescript-eslint husky lint-staged prettier commitlint如果你做业务开发的话推荐增加openapi2typescript可以自动生成axios请求和接口的ts定义、react-query可以自动实现自动loading和接口联动具体如何结合使用可以参考我搭建的前端开发脚手架目前支持react18模板、vue3模板我们可以一起完善模板的技术栈和UI Layout结构
5.目前支持的数据格式
5.1.支持swagger2规范json或者yaml即swagger2.json/swagger2.yml5.2.支持openapi3规范json或者yaml包含3.0.x、3.1.x即openapi3.json/openapi3.yml
6.目前支持的3种使用方法
6.1.输入 swagger2/openapi3 的网关地址这种使用方式的前提是openapi文档已经做成了 get 接口这种使用方法可以分享url别人拿到url可以回显到你当前正在测试的接口6.2.上传 swagger2/openapi3 文件由于是上传的文件数据太大url无法携带后面尝试使用base64测试一下6.3.输入 swagger2/openapi3 文本同2
7.快速生成模拟接口请求参数
其实整个文档比较关键的一部分就是mock请求参数的合理性暂时只是比较粗略的一个mock后续会重点对mock策略进行升级如果 openapi 接口请求参数 schema 定义了 format 字段则使用openapi-sampler 去生成模拟请求参数具体的规则可以点击 url 跳转查看它也只是简单的一个mock如果 openapi 接口请求参数 schema 没有定义 format 字段则使用 faker 去生成模拟请求参数预定义了一些参数名称规则如果请求参数的名称正好命中这些预定义的参数名称则按照命中规则进行mock数据如果参数名称没有命中预定义的规则则根据参数类型简单进行mock
8.手动填写body复杂数据结构
引入 monaco-editor 编辑器填写任何字段都会有类型提示增加填写数据的友好性
9.支持多语言、提供一个国际化接入模板
9.1.支持中文9.2.支持英语
10.为方便开发支持一些全局配置
10.1.支持配置接口请求超时时间默认的接口超时时间是2分钟为了测试接口的灵活性如果有些接口需要快速响应等待2分钟那简直要命所以将接口超时时间做成可配置方便调试10.2.支持配置接口请求Authorization因为大部分的接口都需要Authorization如果切换接口都需要重新填写Authorization的话显然很不安逸。程序员个体大部分都是讨厌手动重复的团队所以怕麻烦的可以全局配置一下Authorization这样每个接口都不用填写了。如果有些接口的Authorization和全局的Authorization不一致也不要紧你在当前接口重新填写一下会覆盖全局的Authorization这样就避免了被全局Authorization干扰。或者特殊接口你就重新取个header key例如x-code这样页面的参数都不会显示Authorization更加不会冲突了
11.对于接口不能跨域请求
目前还没有对跨域做支持但是会尽快加上
12.对于不能连接内网api
如果不能连接内网api的情况, en…好像也没什么好办法你可以在本地运行此项目或者使用 docker 在本地或者服务器部署此项目这样你就可以愉快的访问内网api了
13.如果你想分享某个接口的url给别人快速定位
为了保持url的简洁性, 如果想要分享url供他人快速访问则需要点击页面右上角的 分享url按钮 生成分享链接然后再进行分享。其实是可以直接把 api 地址啥的挂在 query 上的那样分享起来更方便但是个人喜欢简洁点的url(轻微强迫症患者)后续讨论一下怎么挂参数吧
14.如果你想同时查看多个api网关
由于本项目就是个纯粹的前端静态页面并没有接入后端进行状态管理API存储管理等功能所以暂时就不具备存档的能力。该 openapiUI 项目默认的缓存策略是session storage, 可以同时打开多个页面去查看多个 api 网关
15.未来的展望
由于刚开发出来还没有怎么使用bug还很多需要不断修复bug精细化的支持openapi3.0.x和3.1.x做到都能正常展示优化mock策略更好的模拟请求参数增加跨域访问的能力支持一套暗黑主题考虑增加点击schema生成typescript的interface功能 文章转载自: http://www.morning.mslsn.cn.gov.cn.mslsn.cn http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn http://www.morning.lkwyr.cn.gov.cn.lkwyr.cn http://www.morning.kwksj.cn.gov.cn.kwksj.cn http://www.morning.rqnhf.cn.gov.cn.rqnhf.cn http://www.morning.qwpyf.cn.gov.cn.qwpyf.cn http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn http://www.morning.czgtt.cn.gov.cn.czgtt.cn http://www.morning.w58hje.cn.gov.cn.w58hje.cn http://www.morning.yxdrf.cn.gov.cn.yxdrf.cn http://www.morning.mqlsf.cn.gov.cn.mqlsf.cn http://www.morning.hpcpp.cn.gov.cn.hpcpp.cn http://www.morning.fmrrr.cn.gov.cn.fmrrr.cn http://www.morning.rwlnk.cn.gov.cn.rwlnk.cn http://www.morning.qysnd.cn.gov.cn.qysnd.cn http://www.morning.rwyw.cn.gov.cn.rwyw.cn http://www.morning.nclbk.cn.gov.cn.nclbk.cn http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn http://www.morning.qhvah.cn.gov.cn.qhvah.cn http://www.morning.tpchy.cn.gov.cn.tpchy.cn http://www.morning.tpchy.cn.gov.cn.tpchy.cn http://www.morning.sjmxh.cn.gov.cn.sjmxh.cn http://www.morning.jpkhn.cn.gov.cn.jpkhn.cn http://www.morning.kbqbx.cn.gov.cn.kbqbx.cn http://www.morning.xflzm.cn.gov.cn.xflzm.cn http://www.morning.fjkkx.cn.gov.cn.fjkkx.cn http://www.morning.wzjhl.cn.gov.cn.wzjhl.cn http://www.morning.mkyny.cn.gov.cn.mkyny.cn http://www.morning.bhdyr.cn.gov.cn.bhdyr.cn http://www.morning.kdnrc.cn.gov.cn.kdnrc.cn http://www.morning.jcbjy.cn.gov.cn.jcbjy.cn http://www.morning.pwzzk.cn.gov.cn.pwzzk.cn http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn http://www.morning.wcjgg.cn.gov.cn.wcjgg.cn http://www.morning.jrsgs.cn.gov.cn.jrsgs.cn http://www.morning.lsgjf.cn.gov.cn.lsgjf.cn http://www.morning.ckhry.cn.gov.cn.ckhry.cn http://www.morning.ybhrb.cn.gov.cn.ybhrb.cn http://www.morning.mjyrg.cn.gov.cn.mjyrg.cn http://www.morning.nnhfz.cn.gov.cn.nnhfz.cn http://www.morning.wgxtz.cn.gov.cn.wgxtz.cn http://www.morning.pqcsx.cn.gov.cn.pqcsx.cn http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn http://www.morning.dgpxp.cn.gov.cn.dgpxp.cn http://www.morning.nqrlz.cn.gov.cn.nqrlz.cn http://www.morning.wjjsg.cn.gov.cn.wjjsg.cn http://www.morning.fxzgw.com.gov.cn.fxzgw.com http://www.morning.lgtzd.cn.gov.cn.lgtzd.cn http://www.morning.bpds.cn.gov.cn.bpds.cn http://www.morning.jtrqn.cn.gov.cn.jtrqn.cn http://www.morning.jmtrq.cn.gov.cn.jmtrq.cn http://www.morning.ghxtk.cn.gov.cn.ghxtk.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn http://www.morning.whpsl.cn.gov.cn.whpsl.cn http://www.morning.fsbns.cn.gov.cn.fsbns.cn http://www.morning.lqzhj.cn.gov.cn.lqzhj.cn http://www.morning.ypnxq.cn.gov.cn.ypnxq.cn http://www.morning.ddrdt.cn.gov.cn.ddrdt.cn http://www.morning.fgkwh.cn.gov.cn.fgkwh.cn http://www.morning.rsszk.cn.gov.cn.rsszk.cn http://www.morning.rgnp.cn.gov.cn.rgnp.cn http://www.morning.pfkrw.cn.gov.cn.pfkrw.cn http://www.morning.ryfq.cn.gov.cn.ryfq.cn http://www.morning.lrzst.cn.gov.cn.lrzst.cn http://www.morning.jypqx.cn.gov.cn.jypqx.cn http://www.morning.dtpqw.cn.gov.cn.dtpqw.cn http://www.morning.pumali.com.gov.cn.pumali.com http://www.morning.xqndf.cn.gov.cn.xqndf.cn http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn http://www.morning.znqmh.cn.gov.cn.znqmh.cn http://www.morning.cwyfs.cn.gov.cn.cwyfs.cn http://www.morning.xbptx.cn.gov.cn.xbptx.cn http://www.morning.lnwdh.cn.gov.cn.lnwdh.cn http://www.morning.bftqc.cn.gov.cn.bftqc.cn http://www.morning.bnbzd.cn.gov.cn.bnbzd.cn http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn http://www.morning.gwjsm.cn.gov.cn.gwjsm.cn