为了账号安全,请及时绑定邮箱和手机立即绑定

请求接口返回数据的为null,怎么去处理?这里是指兼容的一个处理。

请求接口返回数据的为null,怎么去处理?这里是指兼容的一个处理。

狐的传说 2019-05-22 18:08:14
一个$http的请求然后数据返回的是success:{data:{data:{}//这里正常的情况下是有数据的。为了以防万一这里如果为null的话要怎么进行兼容的处理}}这里是一个简单的处理方法。this.$http({//调用接口method:'POST',async:true,headers:{'Accept':'*/*'},url:this.askListUrl,//this指datadata:this.transMyResData//向后台发送的数据}).then(function(response){//接口返回数据if(response.data.data==null){//为空的处理return"";}else{//不为空的处理that.questions=response.data.data.list;that.total=that.questions;loading.close();if(response.data.data.total>=0){that.transMyResData.total=response.data.data.total;that.total_3=response.data.data.total;}else{that.$message.error('失败');}}},function(error){loading.close();that.$message.error('网络连接失败')})请教各位怎么才更规范一点。
查看完整描述

2 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

一般会和后端人员配合,通过code字段判断后端返回的数据,例如:
{
code:100
data:null,
message:'没有相关数据'
}
正常的格式:
{
code:0
data:data,
message:''
}
                            
查看完整回答
反对 回复 2019-05-22
?
呼唤远方

TA贡献1856条经验 获得超11个赞

一般来说不会返回null的,如@yhlben所说,会做一个约定,通过错误码和信息来做一个判断。
正常情况下返回的数据会是两种样子:
//object类型:
data:{...}
//array类型:
data:[...]
array类型好搞,直接空数组就完事了;但是如果object要表示空/此查询条件无结果这类语义,可能还真只能null来表示,这种是业务逻辑上的空,错误码一般表示处理逻辑的错误,所以要分情况:
如果是处理逻辑错误(用户层输入参数非法/状态异常)那么靠code就可以做策略了,然后要记日志,前端提示错误;如果是业务逻辑错误(无对应查询条件的结果)那么只能检查data===null,然后做对应处理。
                            
查看完整回答
反对 回复 2019-05-22
  • 2 回答
  • 0 关注
  • 4970 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号