我正在构建一个 API,但我有一个关于如何表示对象的问题。
想象一下,我们有一个系统,其中包含具有大量属性的文章。其中一些属性很复杂,例如文章的作者指的是另一个对象。我们有一个获取系统中所有文章的 URL,还有一个获取特定文章的 URL。
我的第一个实现方法是创建同一个对象 Article 的两个表示,因为当您请求所有文章时,您不会检索有关文章的所有信息,而是仅检索标题、日期和作者姓名(而不是整个 Author 对象),不包括标签或内容等其他属性。这背后的想法是尝试使所有文章的响应更轻松。
现在我要去客户端,例如,我决定为 Android 实现一个 SDK。所以第一步是创建对象来存储我从 API 检索到的信息。现在出现了一个问题,因为我想定义 Article 对象,但我需要它的两个版本,它不仅更难实现,而且更难使用。
所以我的问题是,在定义 API 时,拥有同一个对象的多个版本(可能是轻量版和完整版)以在发送请求结果但生成更困难的结果时节省一些带宽是一种好习惯吗?使用服务,还是不值得,您应该始终检索相同版本的对象,产生更重的响应但使服务更易于使用?