Jak zwrócić wygenerowany identyfikator w RESTful POST?
Powiedzmy, że mamy usługę dodania nowego hotelu:
> POST /hotel
> <hotel>
> <a>aaa</a>
> <b>aaa</b>
> <c>aaa.......this is 300K</c>
> </hotel>
A potem dostajemy:
> GET /hotel
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa.......this is 300K</c>
< </hotel>
Pytanie brzmi: co powracamy przy początkowym tworzeniu POST? Chcielibyśmy zwrócić identyfikator (wygenerowany na serwerze) dla „odniesienia” do nowego zasobu, ale nie chcemy zwracać wszystkich danych hotelowych, ponieważ w naszym przypadku jedno z pól danych jest plikiem płaskim o wielkości ~ 300K .
Więc powinieneś wrócić:
< HTTP/1.1 200 OK
< <hotel>
< <id>123</id>
< </hotel>
Lub powinieneś zwrócić cały obiekt:
< HTTP/1.1 200 OK
< <hotel>
< <id>123</id>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa.......this is 300K</c>
< </hotel>
??
Jestem zainteresowany spokojną najlepszą praktyką.
Uwaga: to związanesłupek mówi więcej o tym, co zwrócić, ale mniej o tym, jak go zwrócić.