2014-09-17 4 views
0

Я разрабатываю REST api, следуя лучшим практикам, включая форму гипермедиа/ненависти. Я использую jsonapi для руководства по дизайну, который кажется довольно полным.Как определить преобразования на ресурсе способом REST?

В настоящее время у меня есть необходимость:

  1. сочетающего 2 ресурса в ответ на (Resource A и связанный ресурс B). Я делаю это, используя Compound Documents - structure, как указано в jsonapi. Или также широко известный как расширение ресурсов

Моя проблема с . Как я правильно представляю это в REST-пути? Кажется, мне может понадобиться отдельная конечная точка, но это не будет «RESTY», поскольку это подразумевает отдельный ресурс, а это просто преобразование вывода того же ресурса.

Любые рекомендации о том, как это сделать?

+0

Для идентификации одного и того же ресурса разрешено использовать несколько URL-адресов. – inf3rno

+0

Вы можете добавить новый тип MIME, параметры типа MIME, например профиль и т. Д., Но я думаю, что новый URL-адрес является лучшим решением. – inf3rno

+1

КПП. это так называемый json api - далеко не идеальное решение REST. Вам может быть интересно это (если у вас есть время для чтения): http://www.markus-lanthaler.com/research/third-generation-web-apis-bridging-the-gap-between-rest-and-linked -data.pdf – inf3rno

ответ

1

Вы можете использовать заголовок или параметр запроса, чтобы справиться с этим.

Когда клиент нуждается в определенном форматировании, они могли бы добавить дополнительный заголовок запрос что-то вроде Format:Indented или что-то вроде http:\\myapp.com\resouces\myresource?format=indented

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