Имена стандартных элементов OData

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

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


person Elrond    schedule 08.01.2012    source источник


Ответы (1)


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

person Vitek Karas MSFT    schedule 09.01.2012
comment
В запросе на получение ответ кажется действительно прямым, и это приятно, потому что мы можем предоставить ссылку на то, как получить более конкретные данные и т.д. один ресурс (JSON). Спасибо! - person Elrond; 09.01.2012