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

让文档参与到你的开发,提高开发协作效率 - XJZProxy

  •  
  •   xjz19901211 ·
    xiejiangzhi · 2019-05-29 10:01:48 +08:00 · 1609 次点击
    这是一个创建于 1793 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先,我承认我有错,没有认真读发帖指南,就直接在技术区发了一贴。然后发现了这个区。

    回到正题,官网 https://xjzproxy.xjz.pw/zh-cn/


    主要功能:

    • HTTP/HTTPS/HTTP2/GRPC 请求代理
    • 按 host, connection 分组请求历史
    • 简单的搜索语言过滤请求历史
    • 自动生成接口文档预览
    • 自动生成响应数据
    • 自动对比请求、响应数据,并显示差异
    • 按过滤结果生成相应的错误统计
    • 通常我们合作开发时都是:
    商量接口文档 => 使用者自己生成假数据开撸 =>   最对接真实接口,发现不对再改
               \\=> 开发接口                __/
    

    甚至是

    商量接口文档 => 开发接口 => 使用者等接口好 => 发现不对再改接口或文档
    

    最后基本都是接口使用者拿到文档时没有真实接口可以用。真实接口好了后,改着改着真实接口和文档完全不一样了。 或者本来规定的参数,上级后才发现没有提交。

    此工具就是为了提高这一过程的效率。让文档告诉你接口请求的参数、服务器返回的数据是否与文档中的定义一致。 拿到文档不用等接口开发好就有可以调用。

    Example

    一个最简单的示例, 先在创建项目并写个文档(YAML 格式)

    project:
      host: mydomain.com
    
    apis:
      - title: Get a user
        method: GET
        path: /api/v1/users/\d+
        response:
          success:
            http_code: 200
            data:
              id: 1
              name: .t/name
    

    然后就可以通过 XJZProxy 代理来访问了

    $ curl http://mydomain.com/api/v1/users/123 --proxy localhost:9898
    {"id": 1, "name": "random name"}
    

    当然,你可以在移动设备、浏览器中通过代理地址访问接口。更多文档书写帮助请参考这里

    请求参数和文档对不上时,会有提示 error_params

    GRPC

    如果你在使用 GRPC 的话,只要配置好 protobufs 的路径,就可以直接调用接口了。当然,如果你想定义 GRPC 接口返回的数据内容,还是需要在文档中定义好一些数据模板。

    Preview

    在工具中查看渲染好的漂亮文档也是不能少的。

    doc_preview

    更多功能参考官网


    有兴趣的朋友可以在这里下载试用(目前只支持 Mac 与 Ubuntu,其它系统以后看情况再折腾了)。

    发邮件到 base64 eGllamlhbmd6aGlAZ21haWwuY29t。我会给前 100 名发放永久证书哟(刚上线求试用,暂时没有开通购买渠道)。记得带上标题 "XJZProxy 证书申请",不然我可能注意不到。当然,没有证书的话,也可以享受完整的代理功能及受限的文档代理功能。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2826 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:25 · PVG 08:25 · LAX 17:25 · JFK 20:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.