规范JSON api的正确方法

规范JSON api的正确方法,json,api,rest,Json,Api,Rest,我需要为一个可以有两种类型的实体创建CRUDJSONAPI 如果实体为“类型1”,则参数_1始终为空,参数_2是附加子参数的对象 如果实体为“类型2”,则参数_1为整数,参数_2不存在。我的问题是,在这种情况下,将参数_2设置为null还是将所有子参数设置为null是一种好的做法?下面我给你举个更具体的例子 “类型1”对象: { name: 'object 1', parameter_1: null, parameter_2: { subparameter_1: 'som

我需要为一个可以有两种类型的实体创建CRUDJSONAPI

如果实体为“类型1”,则参数_1始终为空,参数_2是附加子参数的对象

如果实体为“类型2”,则参数_1为整数,参数_2不存在。我的问题是,在这种情况下,将参数_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
}


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

看起来您正在将两个不同的“模式”强制合并为一个。如果没有其他限制,考虑将这些拆分为两种不同的资源。

REST不关心。如果您的客户机和服务器知道
parameter_2
的值是什么意思,那么这两种方法都可以。您的示例中没有一个包含有效的json
{
  name: 'object 1',
  parameter_1: 123,
  parameter_2: {
      subparameter_1: null,
      subparameter_2: null
  }
}