Wie wird die generierte ID in RESTful POST zurückgegeben?

Nehmen wir an, wir haben einen Service, um ein neues Hotel hinzuzufügen:

> POST /hotel
> <hotel>
>   <a>aaa</a>
>   <b>aaa</b>
>   <c>aaa.......this is 300K</c>
> </hotel>

Und dann haben wir ein bekommen:

> GET /hotel

< HTTP/1.1 200 OK
< <hotel>
<   <a>aaa</a>
<   <b>aaa</b>
>   <c>aaa.......this is 300K</c>
< </hotel>

Die Frage ist, was wir für die erste POST-Erstellung zurückgeben? Wir möchten die (auf dem Server generierte) ID als "Referenz" auf die neue Ressource zurückgeben, möchten jedoch nicht alle Hoteldaten zurückgeben, da in unserem Fall eines der Datenfelder eine flache Datei von ~ 300 KB ist .

Also solltest du einfach zurückkehren:

< HTTP/1.1 200 OK
< <hotel>
<   <id>123</id>
< </hotel>

Oder sollten Sie das vollständige Objekt zurückgeben:

< HTTP/1.1 200 OK
< <hotel>
<   <id>123</id>
<   <a>aaa</a>
<   <b>aaa</b>
>   <c>aaa.......this is 300K</c>
< </hotel>

??

Ich interessiere mich für die erholsame Best Practice.

Hinweis: diesbezüglichPost spricht mehr darüber, was zurückgegeben werden soll, aber weniger darüber, wie es zurückgegeben werden soll.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage