Скажем, у нас есть услуга, чтобы добавить новый отель:
> POST /hotel
> <hotel>
> <a>aaa</a>
> <b>aaa</b>
> <c>aaa.......this is 300K</c>
> </hotel>
И тогда у нас есть get:
> 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>
??
Меня интересует спокойная передовая практика.
Примечание: этот связанный пост говорит больше о том, что возвращать, но меньше о том, как вернуть его.