【发布时间】:2013-05-14 21:56:10
【问题描述】:
允许 RESTful API 接受带有指向另一个资源的隐式链接的表示是否有缺点?
为了说明这一点,假设我有两个资源:
GET /people/:id
GET /houses/:id
除了id,一个人还有一个唯一标识符,即他们的email。
允许以下交互是否有缺点?
POST /houses
{
"_links": {
"owner": {
"email": "example@example.com"
}
},
"street_number": 20
}
服务器知道电子邮件字段是唯一的,因此可以用来识别people 资源。它将创建与该人的关联。
允许这样做的原因是为了让 API 客户端更容易,他们不必先查找资源的 URI。
相比之下,我当然会允许这种类型的调用:
POST /houses
{
"_links": {
"owner": {
"href": "/people/3"
}
},
"street_number": 20
}
【问题讨论】:
标签: api rest hypermedia