文档即接口 - XJZProxy 新版本发布

2019-06-10 16:28:27 +08:00
 xjz19901211

官网 https://xjzproxy.xjz.pw

简单的介绍可以看老帖子 https://www.v2ex.com/t/571213

新版本加入了一个很方便定义数据类型的方便:正则表达式

比如想要定义中文名类型,只需要写一个中文匹配的正则

project:
  host: mydomain.com

types:
  chinese_name:
    regexp: "^[\u4e00-\u9fa5]{2,4}$"

apis:
  - title: get a user
    method: get
    path: /users/\d+
    response:
      success:
        data:
          id: 1
          name: .t/chinese_name

保存后,几秒后就可以通过工具的代理服务访问 mock api 了。

$ curl http://mydomain.com/users/1 --proxy localhost:9898
# {"id":1,"name":"韟颒"}

工具将自动生成能匹配相当正则的字符。


有人问这个与 swagger + openapi 有什么区别。简单来说,就是本工具是以自身为联结点来提升开发效率为目标的。

所以本工具主要功能之一 api mock 是以快速轻量为主,接口开发者可以以更简单方便的格式来定义文档。yaml 文件保存后几秒内接口就会自动更新,然后你马上就可以调用 mock 接口了。

而其它的像快速在不同 mock 数据间切换、对比接口使用者的调用参数是否与文档一致、对比服务器返回数据是否与文档一致等功能,都是为了以提升效率为目标的。

欢迎大家试用,当然建议、意见、看法、吐槽都欢迎提出,我会努力改进。

1870 次点击
所在节点    分享创造
2 条回复
prasanta
2019-06-11 09:27:41 +08:00
文档生成接口对纯 CRUD 很友好,但是遇到逻辑问题就会突然变得复杂
xjz19901211
2019-06-11 15:51:24 +08:00
@prasanta 是的,目前可以通过手动切换不同 response 来解决。
后期我会看看怎么为 response 绑定参数自动切换

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/572509

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX