ГОСТ Р ИСО/МЭК 19831—2017
4.2 Операции протокола
В настоящем подразделе определена совокупность общих операций HTTP, которые могут быть
предоставлены Поставщиком. Его ядро составляют четыре основные операции CRUD — Create
(Создать). Read (Читать). Update (Обновить) и Delete (Удалить). В рамках модели способ, которым они
используются, является совместимым для всех Ресурсов, поэтому их использование определено один
раз и должно унифицировано применяться. Некоторые Ресурсы поддерживают специализированные
операции, которые не полностью подходят для стиля операций CRUD: такие операции тем не менее
следуют общему высокоуровневому шаблону, но в каждой операции допускается вносить небольшие
изменения, чтобы приспособить ее для определенных потребностей. Специфические особенности этих
отдельных операций детально описаны в пункте, который определяет соответствующий Ресурс.
При необходимости некоторые представления Ресурса включают в себя атрибут «operations». По
ставщики должны включать атрибут «operations», только в том случае, если указанные операции до
ступны для клиента этого конкретного Ресурса. Это означает, что при каждой сериализации Ресурса
может возвращаться различная совокупность операций, что связано с многочисленными факторами
(например, права авторизации клиентов, текущее состояние Ресурса и т.д.). Каждая операция должна
включать в себя поля "геГ и ’href’. Поле "геГ должно однозначно определять наименование операции
(например, "add*, "edit"), в то время как поле "href представляет собой URI, на который должно отправ
ляться сообщение запрос операции.
Примечание — Поле URI "href можетотличаться от URI самогоРесурса.
Атрибут операций должен быть сериализован следующим образом:
Сериализация JSON:
{’operations*: {
{’геГ: "strin<f. ’href: ’string"). +
}
Сериализация XML:
<Resource xmlns = ’
http://schemas.dmtf.org/cimi/r>
«operation rel-’xs:anyURr href="xs:anyURI*/> *
<fResource>
Например операция "edit" выглядит следующим образом:
Сериализация JSON:
{’operations*: {
{’геГ. "edit", "href: *<editURI>"}
]
}
Сериализация XML:
<Resource xmlns=*
http://schemas.dmtf.org/cimi/1
*>
«operation rel="edit" href = "«editURI>"/>
</Resource>
Поставщики могут определить дополнительные значения «ге!», которые должны быть полностью
квалифицированными URI. а не относительными URI.
4.2.1 Общие опорации CRUD
Каждый из Ресурсов, поддерживаемых данным протоколом, должен придерживаться сценариев
взаимодействия, определенных далее.
4.2.1.1 Создание нового Ресурса
Чтобы создать новый экземпляр типа Ресурса, на этот тип Ресурса отсылают запрос POSTHTTP
к определенному "addURI". Во многих случаях ресурс Набора, который поддерживает или группирует
все реализации этого типа Ресурса, включает операцию ’add". Операция "add" ссылается на addURI,
который должен использоваться.
Запрос POSTHTTP должен включать в себя:
- сериализацию CIMI запроса на создание нового Ресурса в теле HTTP;
- заголовок HTTPContent-Type;
- заголовок HTTPContent-Length.
11