Учитывая серверный сервер RESTful, который использует JSON-кодирование для объектов. Запрос GET возвращает объект, например { id: 42, name: 'Peter', age: 28 }
. Теперь я задаюсь вопросом, должен ли запрос POST, который вставляет новый объект, вернуть весь объект в той же форме или просто вернуть созданный идентификатор.Должен ли сервер REST отправлять весь объект или просто идентификатор POST?
Например, клиент отправляет этот запрос для создания новой записи в базе данных.
method: POST
url: http://example.com/persons
type: application/json
content: { name: 'Max', age: 35 }
Если сервер ответит { id: 43, name: 'Max', age: 35 }
или только с созданным идентификатором, как 43
или { id: 43 }
?
В этом минимальном примере я предполагаю, что пропускная способность не имеет большого значения, но на самом деле существуют более длинные свойства, кодирующие географические области.
Разве это не зависит от того, что вы хотите делать с данными? Кроме того, отправка обратно имеет смысл только для любых полей, которые сервер изменил. Клиент знает других. –
@ChristopherCreutzig Нет ли рекомендаций по этому поводу? Это не так, вы можете написать ответ на основе вашего комментария, и я помечаю его как принятый. – danijar
Это зависит от того, что нужно клиенту. Я с Кристофером на этом. Я предполагаю, что руководство должно было бы вернуть его, если данные были изменены сервером, и эти изменения должны быть переданы клиенту. –