写点什么

自动化生成 Javascript 调用后台代码 v0.5.3 版本

  • 2022 年 7 月 15 日
  • 本文字数:1519 字

    阅读完需:约 5 分钟

​这周,百家饭 OpenAPI 工具继续完善 0.5.3 版本的开发工作,继续进行 Javascript 脚本的自动生成研发,经过这周的研发,百家饭的 OpenAPIJavascript 代码自动生成功能终于开始在自己平台上用起来了,前期 4 个接口的生成脚本在代码格式、注释内容和基础 required 鉴权等方面达到了初步的要求。


Javascript 生成脚本完成了以下一些功能的优化。


1)当输入参数为空时,不进行默认参数覆盖原来默认都会生成一个默认参数,以方便用户设置某些入参的默认值,就像这样:

var verify_err = null;if ( verify_err !=null){return verify_err;}
var defaultParam = {};
复制代码

当没有配置任何默认参数时,看着就很别扭,自己都看不过去了,这周把这个去掉,如果用户没有配置任何默认参数的话,这个空的 defaultParam 就不再生成了。

2)支持对于较少数量参数的请求,直接将参数展开,不是传递 object 的模式,该配置可以通过配置为某一个函数设置特殊模式 0.5.2 版本的时候,所有的参数调用都是 object 格式,比如这样

const injure = (instance)=>{// 路径:/service/user/login, 调用方法POST// 用户登录/注册-登录函数//inputs要求传输以下属性,没有标注'有默认值'的参数由调用方传输//-Mobile://-Password:instance.postServiceUserLogin = (input) => {
复制代码


那如果要登录的话,需要传入的参数是:

instance.postServiceUserLogin({Mobile: "xxxxx",Password: "xxxx"}
复制代码

有时候一些简单的调用,这么传输就比较费劲,对于少量入参的函数,就直接把参数扩展出来就好了,变成类似这样:


const injure = (instance)=>{// 路径:/system/wx, 调用方法GET// 进行微信链接-将页面url注册到微信,以便进行分享//params要求传输以下属性,没有标注'有默认值'的参数由调用方传输//-Url:注册的urlinstance.getSystemWx = (Url) => {
复制代码


3)支持 commonjs 和 es6 两种引用模式。支持 require 和 import 两种模式,模式可以通过附加-Dcommonjs=true(或者 false)进行配置。

4)去除对于不需要的类库的引用百家饭 OpenAPI 支持公式参数,一些费劲的 API 各种 sign 什么的,可以公式直接生成,js 代码使用的话就会引用外部依赖库,比如 md5,dayjs 之类,但是这些对于普通使用者,如果没用到就也要引用的话就显得很麻烦,这一版会根据用户使用情况再决定是否生成对应的函数和引用,普通使用的话,就不会有很多依赖的情况了。

5)默认不再设置 baseUrl 的 host 一般 OpenAPI 文档都是带域名的,比如这样:

baseURL: 'https://rongapi.cn/ '
复制代码

主要是因为 OpenAPI 所规定的 API 是公开使用的,不限于前后台交流,但是 Javascript 一般调用的都是本网站的后端接口,这次,针对 JS 的代码生成,我们就默认去掉 baseURL 中的 host。默认改成这样:

baseUrl: "/"
复制代码
  1. 支持 URL 参数很多接口都会用到 url 参数,比如 url 中某一段是 id,或者像我们一样,是个表示返回类型的字段


const injure = (instance)=>{// 路径:/api/list.{Type}, 调用方法GET// 查询所有的公开API列表-查询公开的和自己的API//params要求传输以下属性,没有标注'有默认值'的参数由调用方传输//-Limit(有默认值):单次获取个数//-Self(有默认值):获取自己的//-Type(有默认值):返回数据的类型,json/xmlinstance.getApiList = (Limit = 20 , Self = false , Type = "json") => {    //需要检查参数时,可以在api中标记参数为必填        return instance.get(`/api/list.${Type}`,{      params:{ Limit , Self }    });}
复制代码


}


我们用到了 java 的 template string 来将传入参数设置到 url 里面。


完成这些步骤之后,我们自己研发的产品终于自己平台先用上了,希望尽快可以让大家试用百家饭的 JS API 调用代码自动生成功能,整体预计和客户端软件 0.5.3 版本下周一起发布,希望能够对大家的日常开发有用。


发布于: 刚刚阅读数: 3
用户头像

低代码API对接+隐私计算 2022.06.06 加入

通过低代码工具完成API对接,结合多方计算技术实现API的隐私计算。本号主要发布创业过程中的其他相关故事,技术探索。主要创业故事见知乎或微信"百家饭隐私计算"号 https://rongapi.cn

评论

发布
暂无评论
自动化生成Javascript调用后台代码v0.5.3版本_JavaScript_百家饭隐私计算平台创业者_InfoQ写作社区