Como retornar o ID gerado no POST RESTful?

Digamos que tenhamos um serviço para adicionar um novo hotel:

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

E então nós temos um get:

> GET /hotel

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

Pergunta é o que retornamos para a criação inicial do POST? Gostaríamos de retornar a ID (gerada no servidor) para uma "referência" ao novo recurso, mas não queremos retornar todos os dados do hotel, já que, no nosso caso, um dos campos de dados é um arquivo simples de ~ 300K .

Então você deve apenas retornar:

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

Ou você deve retornar o objeto completo:

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

??

Estou interessado na boa prática tranquila.

Nota: isto relacionadopostar fala mais sobre o que devolver mas menos sobre como devolvê-lo.

questionAnswers(3)

yourAnswerToTheQuestion