REST: разные представления одних и тех же данных - PullRequest
3 голосов
/ 20 мая 2011

Как структурировать API, в котором одни и те же данные могут запрашивать в другом формате, в формате RESTful. Например.

GET /person/<id>  //get the details of resource <id>

Теперь, в зависимости от требований клиента (браузера), данные могут отправляться в формате html (например, при обычном рендеринге) или в формате Json (например, при вызове ajax). Так что мои сомнения

  1. Могу ли я оставить один и тот же URL для обоих запросов или оставить их отдельно?
  2. Как определить, является ли запрос для html / Json на сервере. Тип запроса такой же (GET). Итак, какой параметр я должен учитывать.
  3. Как определить разницу в типе данных на клиенте (html / Json) \

спасибо,

BSR.

Ответы [ 2 ]

6 голосов
/ 20 мая 2011

Аналогичный вопрос: REST Content-Type: должен ли он основываться на расширении или заголовке Accept?

Принятые ответы имеют хорошие моменты.

Могу ли я сохранить один и тот же URL для обоих запросов или оставить их раздельными?

Да, оставить их одинаковыми.Это один и тот же ресурс, вы просто запрашиваете различные его представления.

Как определить, является ли запрос для html / Json на сервере.Тип запроса такой же (GET).Итак, какой параметр мне следует учитывать.

Вы можете использовать заголовок Accept, чтобы указать возвращаемый тип содержимого.

Как определить разницу в типе данных на клиенте (html / Json) \

Вы бы посмотрели на заголовок «Content-Type».

0 голосов
/ 20 мая 2011

А как насчет добавления переменной для типа вывода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...