RESTful HATEOAS API を作成しています。GET、POST、および PUT する必要がある複合エンティティがあります。GET 部分は簡単で、多くの例があります。応答には、エンティティのプリミティブ属性と、ネストされたエンティティへのリンクが含まれます。例えば:
{
"id":"2",
"firstName":"Brad",
"lastName":"Pitt",
"balance":1234.5,
"transactions":"http://localhost:8080/jersey-poc/api/v1.1/account/1/transactions",
"self":"http://localhost:8080/api/v1.1/account/1",
"accountType":"http://localhost:8080/api/v1.1/account/1/accountType"
}
アカウントを作成または変更するときに問題が発生します。アカウントを accountType に関連付ける必要があります。次のような POST リクエストを送信できますが、{"firstName":"Michael","lastName":"Jackson","balance":300.0,"accountTypeId":5}
それは HATEOAS パラダイムを壊してしまいます。POST/PUT 複合エンティティのベスト プラクティスは何ですか?