Оба они в каком-то новом типе носителя, поэтому я предполагаю, что вы можете определить модели обработки для них обоих. Естественный инстинкт состоит в том, чтобы идти с первым, поскольку он не добавляет невидимую связь между атрибутом в одной области XML и шаблоном URI в другом месте.
Предшествующий уровень техники , которым мы могли бы руководствоваться, например, API Atompub или Sun Cloud, обе из которых предоставляют огромное количество ссылок, часто повторяющихся. Я просто хочу отметить, что OpenSearch может быть передан как свидетельство для подхода шаблона URI , поскольку он предоставляет шаблоны URI и специальные элементы <Url>
и <Query>
, которые имеют имена элементов соответствующие скобки шаблона URI. Я лично считаю шаблоны OpenSearch очень RESTful. Кроме того, простые формы HTML делают то же самое и не могут считаться RESTful в своей базовой форме.
Недостатком предоставления шаблонов URI является то, что вы не можете легко разделить половину ваших элементов, чтобы иметь href, который идет на сервер A, и другой, который идет на сервер B, или что другие половины на самом деле есть разные места. Вы на самом деле что-то сообщаете своим клиентам о базовой структуре данных , и поэтому клиенты становятся зависимыми от всех элементов, имеющих одинаковую (ish) схему URI для доступа к foo или bar, что делает ее менее гибкой ( возможно, в зависимости от того, как вы документируете данный тип носителя).