REST设计中常见的是允许返回部分资源.在这种情况下; 我想允许用户仅指定在该资源的JSON表示中返回的资源的某些字段.
例如,假设我们有一个资源Person:
{
"id": 12,
"name":{
"first":"Angie",
"last": "Smith",
"middle": "joy",
"maiden": "crowly",
},
"address": {
"street": "1122 Something St.",
..and so on...
},
... and so on
}
Run Code Online (Sandbox Code Playgroud)
让我们说params列表很长.并且假设我有一个API消费者,他在创建API设计之初只想要一些像id和name.first这样的字段.我假设允许这样的事情是很常见的:
/人?场= ID,名字
字段说我只想要那些字段.
我的问题是,Person资源应该返回所有带空值的字段,只返回那些带有值OR的字段,它应该只返回带有字段id和name的Person表示,并且你从后端动态地删除所有其他params.
似乎#2更清晰,但在REST中执行此操作是否有意义,或者人们通常是否返回所有其他字段(以确保我们将结构/模式的表示保持一致/可靠)与空值?