在API响应中转发对象的公共属性/变量是一种好习惯吗?

时间:2018-09-10 18:39:05

标签: rest api-design

因此,我们的API之一具有以下功能:接收有限的原始数据,对其进行充实,然后将其返回给请求者。当前,控制器显式构建响应对象。但是,由于我们不断增加响应中的属性/变量,因此控制器变得越来越像Phat(是,带有Ph)。使代码更干燥的一种方法是自动转发来自各种对象实例的任何公共(意味着非私有或受保护的)变量。要提供更多背景信息:

  • 此API不处理敏感数据(用户,订单,付款)
  • 该API不公开(需要活跃的注册用户)
  • 返回的数据都是来自请求者原始的非结构化数据的丰富数据

更具体地说:转发是指让控制器遍历已使用对象的所有公共属性,并将它们自动包含在响应对象中

到目前为止,我唯一能想到的缺点是:

  • 开发人员由于忘记将属性/变量设为私有或受保护而意外地公开了该属性/变量
  • 可能会暴露一些源代码蓝图的痕迹(但考虑到它们只会是公共变量/属性,而这似乎并不偏执)

我的猜测是我想念更多。

1 个答案:

答案 0 :(得分:0)

在深思熟虑之后,我意识到最大的问题是将合同与内部实施结合起来,在以后的某个时候不可避免地会变成技术债务。而且节省的时间不足以证明这一点。