Ich schreibe eine RESTful HATEOAS API. Ich habe zusammengesetzte Entitäten, die ich abrufen (GET), erstellen (POST) und aktualisieren (PUT) muss. Der GET-Teil ist einfach und hat viele Beispiele. Die Antwort enthält die primitiven Attribute der Entität und Links zu verschachtelten Entitäten. Zum Beispiel:
{
"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"
}
Das Problem entsteht, wenn ich das Konto erstellen oder ändern möchte. Ich muss das Konto mit einem accountType verknüpfen. Ich kann eine POST-Anfrage senden, wie zum Beispiel: {"firstName":"Michael","lastName":"Jackson","balance":300.0,"accountTypeId":5}
aber das würde das HATEOAS-Paradigma brechen. Was ist die beste Praxis zum Erstellen/Aktualisieren von zusammengesetzten Entitäten?