我建立一个RESTful
API和我不知道它是否是一个问题(违反REST),以发送相同信息URI
在响应部分body
或没有。
现在的情况
一个GET
/element/$ID
电话让你这个元素的数据从数据库中,其中还包含element_ID
,并与该最后一部分URI
。 现在,客户端使用element_ID
从身体,但改变他们就没有问题, 如果它不应该是这样的RESTful API
。
一般问题
它是发送一个问题URI
部分的响应主体?
(如果是的话应这些部件是可改变的)
如果该数据从响应体取出,以便客户端必须使用URI
来提取所需的信息? 主要的问题(除因冗余的不必要的开销),我看到的是,当客户想改变相关建筑领域的URI
(如使用PUT
上/element/$ID
和改变element_id
场)。
例子
这会是一个问题(该element_id
也用于URI
):
{
"name": "Robert",
"element_id": 1337
"links": [ {
"rel": "self",
"href": "http://domain.tld:8080/element/1337"
} ]
}
而会发生什么,如果你让下面的调用这个模型
PUT http://domain.tld:8080/element/1337
{
"name": "Robert",
"element_id": 1234
}
还是应该模型只是看起来更像吗?
{
"name": "Robert",
"links": [ {
"rel": "self",
"href": "http://domain.tld:8080/element/1337"
} ]
}