Правильно ли для RESTful Service GET возвращать только объект, который пользователь должен обработать для фактического ответа? - PullRequest
0 голосов
/ 07 апреля 2020

В этом первом сценарии URI для метода GET может быть следующим:

http://myserver/number/getItem?itemID

Пользователь передает идентификатор элемента #, а RESTful Services получает этот элемент и возвращает объект элемента обратно пользователь, чтобы пользователь мог извлечь любую информацию по желанию.

Это рассматриваемый сценарий

В этом сценарии URI для метода GET может быть следующим:

http://myserver/number/overLimit?itemID

Пользователь передает ID элемента # и RESTful Services ПОЛУЧАЕТ этот элемент, так что его можно определить, если у него избыточный вес.

На данный момент есть 3 варианта.

1 - Вернуть объект Item, как описано выше, и просто дать пользователю получить информацию.

ИЛИ

2 - Вернуть только вес и позволить пользователю определить, является ли его избыточный вес.

ИЛИ

3 - возвращает логическое значение с ответом true, если избыточный вес, и false, если нет.

При использовании соответствующих служб RESTful имеет ли значение, какой из 3 используется? Нарушаются ли какие-либо правила при реализации любого из 3 сценариев ios?

1 Ответ

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

При использовании правильных сервисов RESTful имеет ли значение, какой из 3 используется? Нарушаются ли какие-либо правила при реализации любого из 3 сценариев ios?

Нет, не имеет значения, какой из этих трех шаблонов используется. Правила не нарушены.

Унифицированные идентификаторы ресурсов идентифицируют ресурсы.

Ресурсы : любая информация, которая может быть названа, может быть ресурсом: документ или изображение, временная служба (например, «сегодняшняя погода в Лос-Анджелесе»), набор других ресурсов, не виртуальный объект (например, человек) и так далее. Другими словами, любой концепт, который может быть целью гипертекстовой ссылки автора, должен вписываться в определение ресурса.

REST не заботится о том, используете ли вы один крупнозернистый ресурс, который предоставляет вам представление каждой части информации, которая может вам когда-либо понадобиться, или нескольких детализированных ресурсов с представлениями, оптимизированными для конкретных случаев использования.

большие детализированные ресурсы хороши, когда вы обеспокоены тем, насколько это дорого отправлять информацию по сети, но вы отказываетесь от мелкого контроля кэша.

...