强烈建议 restful api 接口返回如下格式

restful api 的返回格式,必须满足如下格式:

只有返回这样的格式,拿到 数据解析时才能快速解析接口返回的数据

【强烈】建议的返回格式
class ApiResponseResult<T>
{
    public bool IsSuccess { get; set; }     //接口是否有错误
    public string Error { get; set; }	    //错误消息
    public T RawData { get; set; }		    //泛型的,本来想返回的数据
}
返回这种格式,取数据相当方便
public class TestApi
{
    void HowToUse()
    {
        ApiResponseResult<Student> result = null;
        if (result.IsSuccess)
        {
            Student student = result.RawData;   //获取数据
        }
        else
        {
            string error = result.Error;    //显示错误消息
        }
    }
}
定义的测试对象
class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
}

当接收到接口返回的数据时,如何知道接口返回 成功了没有?

方式1:检测返回的数据中是否有【name】这个关键词

存在的问题:错误消息中也可能有。你调用别人接口 时,别人没有列出所有的错误消息,你怎么知道他的错误消息一定没有【name】这个关键词呢?

方式2:检测返回数据中是否有【status:“FAILURE”】这个关键词

存在的问题:对方有10个接口,其中有些接口错误时有【status】这个关键词,有的没有;

错误的返回格式:

错误时返回格式1:{“message”:"******************"}
错误时返回格式2:{status:“FAILURE”,“message”:"******************"}
正确时返回:{name:""}

更可恶的是: 同一个字段在不同接口中叫不同的名字,比如:

status:“FAILURE”,“message”:"******************"}
state:“FAILURE”,“message”:"******************"}
status:“FAILURE”,“msg”:"******************"}
status:“FAILURE”,“error”:"******************"}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值