V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xjz19901211
V2EX  ›  分享创造

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

  •  
  •   xjz19901211 ·
    xiejiangzhi · 2019-06-10 16:28:27 +08:00 · 1837 次点击
    这是一个创建于 1994 天前的主题,其中的信息可能已经有所发展或是发生改变。

    官网 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 数据间切换、对比接口使用者的调用参数是否与文档一致、对比服务器返回数据是否与文档一致等功能,都是为了以提升效率为目标的。

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

    2 条回复    2019-06-11 15:51:24 +08:00
    prasanta
        1
    prasanta  
       2019-06-11 09:27:41 +08:00 via Android
    文档生成接口对纯 CRUD 很友好,但是遇到逻辑问题就会突然变得复杂
    xjz19901211
        2
    xjz19901211  
    OP
       2019-06-11 15:51:24 +08:00 via iPad
    @prasanta 是的,目前可以通过手动切换不同 response 来解决。
    后期我会看看怎么为 response 绑定参数自动切换
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1636 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:41 · PVG 00:41 · LAX 08:41 · JFK 11:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.