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

这周,百家饭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:注册的url
    instance.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: "/"

6) 支持URL参数

很多接口都会用到url参数,比如url中某一段是id,或者像我们一样,是个表示返回类型的字段

const injure = (instance)=>{
    
    // 路径:/api/list.{Type}, 调用方法GET
    // 查询所有的公开API列表-查询公开的和自己的API
    //params要求传输以下属性,没有标注'有默认值'的参数由调用方传输
    //-Limit(有默认值):单次获取个数
    //-Self(有默认值):获取自己的
    //-Type(有默认值):返回数据的类型,json/xml
    instance.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版本的客户端软件一并更新,希望能够帮助到大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

百家饭AI

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

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

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

打赏作者

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

抵扣说明:

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

余额充值