百家饭OpenAPI v0.6.0新版夏日发布!快来看(4)——API代码自动生成

    百家饭OpenAPI工具更新到了v0.6.0版本,带来了全新的API工作台和配套的客户端工具,本周我们将分篇介绍v0.6.0版本的各项更新功能,

  1. 0.6.0版本里面的Golang swag工具!
  2. API文档的编辑与共享
  3. API在线测试
  4. API JS代码自动生成
  5. API模拟与远程调试

 昨天我们讲完了API的在线测试,前端同学们完成了测试,就可以写代码了,对不对?不用着急,我们还继承了JS代码自动生成功能,希望把代码编写也省了。

API代码自动生成

  API代码生成是百家饭新版API工作台的右侧第三个功能,主要的功能点就是按语言生成API的调用代码。

目前,API代码生成功能支持Javascript的调用代码生成,支持CommonJS和ES6两种语法模式,需要说明一下的是,网上生成的版本是ES6版本,如果有更多配置要求可以下载客户端进行代码生成,在客户端里可以自定义更多的功能选项。

进入API代码生成功能面板之后,面板为空内容,选择生成语言之后,就可以生成对应的代码了。

未生成代码前

生成代码之后

 JS代码结构说明

js生成的代码主要由一组api_xxx.js文件,config.js, functions.js 和index.js组成。

api_xxx.js文件

  1. 每个api一个文件,包含了该api的接口定义

每个api调用都包含接口说明、入参验证和实际调用三个部分,包含了api说明中包含的接口说明信息,入参具体要求和具体的调用模式

 config.js

config.js包含了具体的服务器配置等信息,接口定义中的端口地址会以注释的形式提供(通常的JS调用还是本域名调用的居多,因此,只保留注释信息)

 functions.js

functions.js包含了支持api调用的功能性文件,比如obj转form等

 index.js

index.js是包含所有文件引用的主文件。

整体生成的文件夹可以直接通过压缩包的形式下载到本地,解压即可使用。

使用客户端生成代码

 上面介绍网站功能的时候,我们说到,网站只提供默认参数的代码生成,丰富的自定义功能需要使用客户端。客户端就是从百家饭下载的百家饭OpenAPI工具,要求0.6.0版本以上。

下载完成后,我们使用cmd,在你的工程文件夹下使用openapi命令就可以生成代码,具体的参数如下:

Flags:
  -c, --code string               当来源为百家饭API ID时,如果非创建人提取,当API不是公开API时,需要通过该参数指定提取码
  -D, --definitions stringArray   提供关于生成的附加参数,使用=分隔
  -d, --dest string               生成文件的目的路径
  -l, --language string           希望生成语言的名称
  -s, --source string             生成模板的源路径(非必须,仅用于自定义模板)
  -y, --yaml string               API定义来源,可以是yaml文件路径/数字(rongapi网站source id/url)

例如我们要为网站id为42的文档生成js代码,生成的文件放到工程目录的src里面,就输入

openapi code -y 42 -l js -d ./src

可选参数

commonjs:设置时,生成commonjs风格代码,否则生成es6风格

可选参数使用-D设置,例如

openapi code -y 42 -l js -d ./src -Dcommonjs=true

详细配置

首次运行之后,入参会在当前目录生成baijiafan.yaml文件,通过修改该文件,还可以对每个接口进行微调

definitions:
    #是否采用commonjs模式
    - commonjs=false
#目标输出路径
destination: .\docs\.vuepress\theme\layouts
#目标生成语言
language: javascript
#扩展模式最大参数数量,当入参小于等于该数量时,会展开入参
max_arg_num_of_expand_mode: 3
paths:
    /admin/logined:
        get:
            #调整该调用方式的具体参数模式
            input_mode: ""
    /api/create.{Type}:
        post:
            input_mode: ""
            requestBody:
                #对入参的顺序不满意时,可以自行调节
                order:
                    - Source
                    - Call
                    - Open
    /service/user/login:
        post:
            input_mode: object
    /service/user/logined:
        get:
            input_mode: ""
    /service/user/supportregister:
        get:
            input_mode: ""
    /system/wx:
        get:
            input_mode: ""
server_no: 0
server_variables: null
source: ..\openapi-client-template\javascript
yaml: "43"

目前,生成模板开源在gitee

如果使用过程中有任意问题或者需要其他语言的模板,都可以在仓库中提交您的需求。百家饭网站的新版开发都把API部分代码改成了自动生成模式,我们也在逐步测试过程中,希望大家多多来提意见。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百家饭OpenAPI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值