Разработайте правильный ответ от службы отдыха - PullRequest
0 голосов
/ 08 апреля 2020

Поскольку служба отдыха использует HTTP-коды, такие как 200 или 500
, мне кажется, что возвращение JSON формы метода избыточно,
Я хотел бы вернуть что-то вроде:

{"status":true/false,"message":if there was a message it will be here}

Таким образом, если метод был успешным - он вернет

{"status":true,"message":null}

Если метод не был успешным - он вернет

{"status":false,"message":"there was an exception at line 40"}

Мой вопрос заключается в том, как другие проектируют возвращаемое значение из метод оставшегося, чтобы быть информативным, но не избыточным?

1 Ответ

1 голос
/ 08 апреля 2020

Поскольку служба отдыха использует HTTP-коды, например 200 или 500

HTTP-коды состояния являются метаданными. Целевая аудитория для метаданных HTTP состоит из компонентов HTTP общего назначения.

Во всемирной паутине метаданные предназначены для браузеров, кэшей, обратных прокси-серверов и так далее. Заказные детали предназначены для пользователя (что пошло не так, какие корректирующие действия доступны и т. Д.).

В мире «машина-машина» существуют метаданные, чтобы обеспечить общее назначение. библиотеки делают правильные вещи (например, автоматически аннулируют кэшированные ответы при необходимости). Полезная нагрузка, то есть документ, который вы отправляете, - это то, что вы, как правило, в конечном итоге приспосабливаете к вашим конкретным c обстоятельствам. для ответа на какой-либо запрос в теле сообщения нет содержимого ; и, конечно, существуют соглашения о метаданных, чтобы компоненты общего назначения могли быть предупреждены в этом случае.

Например, для сервера HTTP вполне разумно ответить на запрос PUT /foo с помощью 204 No Content Ответ: «Я сохранил представление, которое вы мне предоставили, и это все, что нам нужно сказать об этом».

(Мы не склонны использовать такой подход в Интернете очень часто, оба потому что мы склонны не использовать PUT, и потому что вывод пользователя в тупик не особенно полезен).

...