2012-01-08 5 views
1

Я изучал стандарт OData и хотел бы обновить мои сервисы, чтобы обеспечить этот стандарт и использовать его. Я знаю, что для XML он использует стандарт ATOM XML, поэтому имена элементов, такие как id, title, author и т. Д., Должны быть точно такими, которые соответствуют стандарту Atom. Формат JSON для OData имеет разные названия для своих элементов. Должны ли они быть такими, или я могу использовать мою структуру JSON для своих элементов как структуры Atom XML?OData Стандартные имена элементов

Примером является ссылка - в Atom это называется ссылкой, с атрибутом href и rel. Имя JSON для этого элемента - __metadata с ключом, являющимся uri. Кажется, что эти имена являются стандартными и не могут измениться. Мне интересно, являются ли корневые элементы __metadata, resource и т. Д. Стандартными, но, возможно, внутренние элементы могут быть более гибкими. Как элемент title для Atom соответствует элементу name в структуре JSON, могу ли я сохранить структуру JSON для использования названия вместо имени?

ответ

1

Названия, упомянутые в запуске для JSON, являются частью стандарта и не могут быть изменены (в противном случае клиенты не смогут понять полезную нагрузку OData JSON). Это относится ко всему, что угодно, начиная с двойного подчеркивания (так __metadata, __deferred и т. Д.). Также значение свойства метаданных _(или любого другого свойства _) определяется стандартом и должно точно соответствовать стандарту. Есть несколько других мест, где имена определяются стандартом, просто прочитайте его. Свойства, которые не определены стандартом, обычно рассматриваются как свойства OData, поэтому они определяются моделью, которую вы подвергаете через OData (они такие же, как и элементы элемента m: properties в OData ATOM). Таким образом, они несколько настраиваются, изменяя модель OData, но затем вы меняете форматы ATOM и JSON.

+0

В запросе на получение ответа ответ кажется прямым, и это хорошо, потому что мы можем предоставить ссылку на то, как получить более конкретные данные и т. Д. Для публикации или размещения это выглядит так, что входящим телом будет одна запись (Atom) или один ресурс (JSON). Благодаря! – Elrond

Смежные вопросы