swaggerUI不好用,试试这个openapiUI?

这篇具有很好参考价值的文章主要介绍了swaggerUI不好用,试试这个openapiUI?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


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.com
  • US: 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.yml
  • 5.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
    swaggerUI不好用,试试这个openapiUI?,前端工具,前端,后端,接口测试,swagger,openapi,swaggerUI,openapiUI

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功能

文章来源地址https://www.toymoban.com/news/detail-787829.html

到了这里,关于swaggerUI不好用,试试这个openapiUI?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 天天crud?试试这个低代码框架

    hi, 后端的小伙伴,你是不是常常因为找不到漂亮的后台模板而烦恼?好不容易找到了一款却发现很难拓展?或者只有前端代码,而没有后端代码?那么从此你再也不用烦恼了,因为JNPF工具,它来了,而且100% 源代码交付! JNPF开发平台是一款基于 springboot+vue.js 的低代码开发

    2024年01月19日
    浏览(28)
  • 推荐试试这个简单好用的手机技巧

    技巧一:一键锁屏 除了按住手机电源键进行锁屏外,还有其他一些快捷方法可以实现锁屏操作。 对于苹果手机用户,可以按照以下步骤进行设置: 1.打开手机的设置应用,通常可以在主屏幕或应用列表中找到该图标。 2.在设置应用中查找并选择\\\"控制中心\\\"选项。这个选项可能

    2024年02月09日
    浏览(40)
  • 这个酒店管理方法太酷了!赶紧试试吧

    安全是酒店管理中最重要的优先事项之一,酒店保障住客和员工的生命安全是不可妥协的责任。为了有效预防和应对潜在的火灾风险,引入烟感监控系统是一种普遍且高效的解决方案。 烟感监控系统通过及时检测烟雾和火源,及时发出警报和采取措施,从而能够在火灾发生前

    2024年02月14日
    浏览(28)
  • 前端界面直接生成源码?用这个工具直接生成VUE代码,简单易用

    推荐一个前端代码生成工具iVX。我个人使用这个工具也有一段时间了,感觉做的很不错。有需要生成前端代码的同学可以关注了解一下,在下面的这个例子中,我生成了两个编辑框和两个按钮。 上手一个工具的最便捷路径就是看它的官方文档和教程。同样,iVX官网也提供了这

    2024年02月05日
    浏览(35)
  • 想让你的代码简洁,试试这个SimpleDateFormat类高深用法

    本文分享自华为云社区《从入门到精通:SimpleDateFormat类高深用法,让你的代码更简洁!》,作者:bug菌。 @[toc] 日期时间在开发中是非常常见的需求,尤其是在处理与时间相关的业务逻辑时,我们需要对日期时间进行格式化、比较等操作。在Java中,我们可以使用 SimpleDateFor

    2024年02月08日
    浏览(32)
  • 找不到合适的管理软件?试试这个万精油型的管理系统!

    无论大中小型企业,无论是否上线了ERP、OA系统等等,总是有一些局部的或非主流的需求找不到合适的管理软件来管理,因而很多人都在使用Excel来将就应对。 但是Excel在网络共享访问和查询、权限管理等方面,具有天然的劣势,所以造成许多企业都只好请专门的软件公司来开

    2024年02月13日
    浏览(29)
  • 还在被机组组合问题困扰?快来试试这个用处极大的考虑安全约束机组组合模型!

    前言 所谓安全约束机组组合,即在满足电力系统安全性约束的条件下,以系统购电成本最低等为优化目标,制定多时段的机组开停机计划。 机组组合(Unit commitment, Uc)优化问题旨在电力系统运行时,安全给定以及调整发电机组的启/停与实时出力,使发电机组的总运行成本最小

    2024年03月27日
    浏览(42)
  • 总是做不好需求管理?这6款必备工具送给你

    很多公司都在关注进度、质量,但往往一个项目的成败,在开始就已经有征兆了。那就是没做好需求管理,甚至是没有需求管理。 根据 PMI 进行的多项需求管理调查得出: 糟糕的需求管理流程常常被认为是项目失败的首要原因。 现在很多中小企业,当然也有一些大企业,根

    2024年02月21日
    浏览(22)
  • 使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理

    在前面随笔《在Winform应用中增加通用的业务编码规则生成》,我介绍了基于Winform和WPF的一个通用的业务编码规则的管理功能,本篇随笔介绍基于后端Web API接口,实现快速的Vue3+ElementPlus前端界面的开发整合,同样是基于代码生成工具实现快速的前端代码的生成处理。 在前面

    2024年02月04日
    浏览(36)
  • 精心整理了优秀的GitHub开源项目,包含前端、后端、AI人工智能、游戏、黑客工具、网络工具、AI医疗等等,空闲的时候方便看看提高自己的视野

    精心整理了优秀的GitHub开源项目,包含前端、后端、AI人工智能、游戏、黑客工具、网络工具、AI医疗等等,空闲的时候方便看看提高自己的视野。 刚开源就变成新星的 igl,不仅获得了 2k+ star,也能提高你开发游戏的效率,摆平一切和图形有关的问题。如果这个没有那么惊艳

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包