RESTful API が別のリソースへの暗黙的なリンクを含む表現を受け入れることを許可することに不利な点はありますか?
これを説明するために、次の 2 つのリソースがあるとします。
GET /people/:id
GET /houses/:id
個人には、 に加えて一意の識別子がid
あり、これがemail
です。
次の対話を許可することに不利な点はありますか?
POST /houses
{
"_links": {
"owner": {
"email": "example@example.com"
}
},
"street_number": 20
}
people
サーバーは電子メール フィールドが一意であることを認識しているため、リソースの識別に使用できます。それはその人との関連付けを作成します。
これを許可する理由は、最初にリソースの URI を検索する必要がない API クライアントで簡単にするためです。
対照的に、私は確かにこのタイプの呼び出しを許可します:
POST /houses
{
"_links": {
"owner": {
"href": "/people/3"
}
},
"street_number": 20
}