Как вернуть сгенерированный идентификатор в RESTful POST?
Допустим, у нас есть сервис для добавления нового отеля:
> POST /hotel
> <hotel>
> <a>aaa</a>
> <b>aaa</b>
> <c>aaa.......this is 300K</c>
> </hotel>
И тогда мы получаем:
> GET /hotel
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa.......this is 300K</c>
< </hotel>
Вопрос в том, что мы возвращаем для первоначального создания POST? Мы хотели бы вернуть идентификатор (сгенерированный на сервере) для «ссылки» на новый ресурс, но мы не хотим возвращать все данные отеля, поскольку в нашем случае одно из полей данных представляет собой плоский файл размером ~ 300 КБ ,
Так что вы должны просто вернуться:
< HTTP/1.1 200 OK
< <hotel>
< <id>123</id>
< </hotel>
Или вы должны вернуть полный объект:
< HTTP/1.1 200 OK
< <hotel>
< <id>123</id>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa.......this is 300K</c>
< </hotel>
??
Я заинтересован в спокойной лучшей практике.
Примечание: это связаноПочта больше говорит о том, что вернуть, но меньше о том, как вернуть.