刚参加工作的表弟问我,公司里开发的接口为什么统一接口返回值?

为什么要统一接口返回值

最近刚培训完的表弟问我:表哥我写了一个返回值是String的接口,领导问我是不是培训班出来的?
作为他的表哥,我肯定要好好讲解一下!

统一返回值类型是接口开发中的一种良好的开发习惯(公司中99%的业务接口的返回值都是统一的),统一接口返回值的目的蜗觉得有两个:第一是可以节省前后端的沟通时间,前端默认后端接口返回的都是同一种结构,第二是接口有很好的可读性,干净,整齐,易于形成好的写代码习惯。举个例子,请看下面的三个接口及返回值:刚参加工作的表弟问我,公司里开发的接口为什么统一接口返回值?_第1张图片

上图中有三个接口,返回值类型分别是String,Map,Object,三个接口本身都没有问题,这也是没有参加过工作的同学最常见的写法,前端要什么类型我返回什么类型。这么写可以吗?其实也可以,上图已经返回预期的值。

工作中我们很少会这么去定义返回值,这么写是不利于开发进度与团队协作的,为什么这么说呢?缘由如下:

  1. 于后端而言,所有接口返回值类型统一,就会显得代码更规范
  2. 与前端而言就相对重要了,一个接口返回一种类型,那么前端就需要写不同的代码来处理不同的返回结果,如果后端统一返回值,前端就可以写一个统一的处理返回值的代码

如何统一接口返回值

看看统一接口返回值之后,前端接收的值是什么样的:

刚参加工作的表弟问我,公司里开发的接口为什么统一接口返回值?_第2张图片

通过两张图的对比,其实后端代码并没有大的改变,更改最大的点在于三个接口的返回值类型都变成了我定义的RestResult,然后前端接收的值就赏心悦目了,前端处理接收的数据时,只要获取key为data的value值即可,好不好相信都能看的见。

总结

统一接口返回值是企业中最基本的要求,使用它的原因不止于上文,比如msg可以告诉前端调用失败还是 成功,code可以告诉前端具体的业务类型错误,它的编写方式有很多,比如工厂模式创建(本文采用的方法),编写一个统一返回值的类等等。方式有很多,如果大家想了解如何设计一个统一返回值的类,请评论区留言,以后会专门出一篇文章来说明。

你可能感兴趣的:(初级程序员进阶,java,接口规范,统一返回值)