如何永久修改返回的参数字段ret

因为项目是个旧项目,已经完成了,现在准备把api系统迁移到phalapi,但是旧项目中前端使用的ajax返回参数的字段是“statuscode”,而不是phalapi默认的“ret”……
相反,前端捕获整个返回数据时,往往使用的变量名就是ret,例如web前端的一段代码是这样:
 
$.ajax(‘url’, {}, function(ret){
if(ret.statuscode == 200){
dosometing(ret.data);
}
else {
alerterror(ret.msg);
}
});


这个就有点尴尬了,有么有。


虽然官方文档里提到可以通过重载Response类进行修改,但总感觉还是有点不好吧,或许是个人觉得杀鸡用了牛刀?!。所以想问问有各位,没有更妥更简单的办法呢。
 
另外,我也想建议一下官方:“ret”作为顶层返回参数,几乎和市面上常见的Restful场景不匹配,因为我见过的最多的字段名称是“statuscode”,其次是“code”,最后是“status”……“ret”几乎就没见过,不知道官方怎么考虑的……但是如果可能,希望这个字段以后能改成我上面提到的三个名称中的一个,就好了。

 
已邀请:

dogstar - PhalApi创始人

赞同来自:

感谢使用PhalApi,以及这么详细的问题和建议。

对于修改返回的结构,正如你所说,官网上是提供了重载并注册response的方式来解决,参考文档:
http://docs.phalapi.net/%23/v2 ... %2584

这种方式也是PhalApi核心的设计,即任何功能类基本都可以重载并重新注册DI这一模式来扩展,一旦掌握是相通的。所以成本也不会很大,但会给项目提供更大的扩展和自由空间。

对于顶层返回ret这一设计,最初ret表示:return staus,即返回状态。在2014年左右,我主要接触是这个语义,因此沿用。后面会视情况再作调整,但为了保证向前兼容,可能很长一段时间内不会变更,除非有大版本出现。但你依然可以通过上面重载并注册的方式来自由扩展。再进一步,也可以把你的设计封装成类库给更多同学使用,可参考:http://docs.phalapi.net/#/v2.0/library

要回复问题请先登录注册