Должно ли JSON-представление ресурсов REST использовать URI для связанных ресурсов? - PullRequest
5 голосов
/ 21 июля 2011

Рекомендуется ли использовать URI в JSON (или XML) представлении ресурсов REST, например,

Например, для ресурса, у которого есть список вложений, где у каждого вложения есть идентификатор, который можно использовать для получения его с помощью URL-адреса, например http://myserver.com/resources/attachments/:

{
    fileName: "screenshot.png"
    contentType: "application/octet-stream"
    id: 52004
}

Должен ли я также добавить элемент uri, например

{
    fileName: "screenshot.png"
    contentType: "application/octet-stream"
    id: 52004
    uri: /resources/attachments/52004
}

Ответы [ 2 ]

8 голосов
/ 21 июля 2011

Да, я думаю, вы должны включить ссылку на каждый предмет в коллекции. API не является RESTful (и, что более важно, не так полезно) без ссылок. Если вы думаете, что клиент-человек предпочитает иметь ссылку, а не инструкции о том, как запросить элемент по идентификатору, то же самое относится и к клиенту, не являющемуся человеком. Вы также должны дать клиенту некоторое представление о том, как элемент связан с текущим ресурсом, предоставив связь:

link : { uri: "/resources/attachments/52004", rel: "/rels/file-attachment" }

John

0 голосов
/ 21 июля 2011

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

Кроме того, иногда некоторые ресурсы не требуют URI, потому что они никогда не будут запрашиваться или не могут быть запрошены напрямую.

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