【问题标题】:Proper way to spec JSON api指定 JSON api 的正确方法
【发布时间】:2015-06-03 05:56:21
【问题描述】:

我需要为可以有两种类型的实体创建 CRUD json API。

如果实体属于“类型 1”,则 parameter_1 始终为 null,而 parameter_2 是附加子参数的对象。

如果实体属于“类型 2”,则 parameter_1 为整数,而 parameter_2 不存在。我的问题是,在这种情况下,将 parameter_2 设置为 null 还是将所有子参数设置为 null 是否是一个好习惯?我会在下面给你一个更具体的例子。

'类型 1' 对象:

{
  name: 'object 1',
  parameter_1: null,
  parameter_2: {
      subparameter_1: 'somthing',
      subparameter_2: 'somthing else'
  }
}

描述“类型2”对象的两种方式:

{
  name: 'object 2',
  parameter_1: 123,
  parameter_2: null
}

{
  name: 'object 1',
  parameter_1: 123,
  parameter_2: {
      subparameter_1: null,
      subparameter_2: null
  }
}

根据 REST 最佳实践,哪一个更可取?谢谢。

【问题讨论】:

  • REST 不在乎。如果您的客户端和您的服务器知道parameter_2 的值是什么意思,那么这两种方法都可以。
  • 您的示例都不包含有效的 json

标签: json api rest


【解决方案1】:

看起来您正在将两个不同的“模式”强加为一个。如果您没有其他限制,请考虑将它们分成两个不同的资源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2018-02-11
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    相关资源
    最近更新 更多