ГОСТ Р ИСО/МЭК 19831—2017
Запрос PUT HTTP должен включать в себя:
- сериализацию CIMI обновленного Ресурса в теле сообщения HTTP,
- заголовок HTTP Content-Typo,
- заголовок HTTP Content-Length.
Например запрос может быть следующим:
PUT<editURI>HTTP/1.1
Host: «наименование узла>
Accept, application / (json|xml)
Content-Type: application / {json|xml)
Content-Length: <длина>
<сериализация запроса с целью обновить ресурс>
Если ответ будет включать в себя сериализацию обновленного Ресурса и иметь код статуса 200.
то данный ответ должен включать в себя:
- заголовок HTTP Content-Type;
- заголовок HTTP Content-Length.
Например ответ может быть следующим:
НТТР/1.1 200 ОК
Content-Type: application / (json|xml)
Content-Length: <длина>
<сериализация обновленного рвсурса>
4.2.1.3.1 Частичное обновление Ресурса
В данном подпункте определено, как следует использовать параметр запроса Sselect (см. 4.1.6.3)
для определения подмножества Ресурса с целью работы только на выбранной совокупности атрибутов
верхнего уровня.
Для обновления конкретных атрибутов Ресурса только верхнего уровня Потребитель может вклю
чать в представление Ресурса в теле запроса HTTP только измененные атрибуты. Для выполнения та
кого запроса URI для Ресурса должно включать в себя атрибуты, которые будут изменены как перечень
значений параметров запроса, разделенных запятой. URI должен иметь следующий вид:
http://example.com/resource?$select=attributo1.attribute2.
..
Изменению подлежат только те атрибуты, которые перечислены в параметрах запроса URI. атри
буты. не перечисленные в URL не должны напрямую изменяться в результате запроса.
Примечание — Это обстоятельство не устраняет возможность возникновения побочных эффектов в
результатеобновленияатрибута, которые приведут к изменению атрибута, отсутствующего впараметрах запроса.
Любой атрибут, перечисленный в URI, но не включенный в запросНТТР. должен быть переуста
новлен на значение, характерное для Ресурса (например, удален).
С точки зрения HTTP частично обновленный Ресурс является индивидуальным. Семантика обыч
ного HTTPPUT сохраняется, что является полной заменой указанного Ресурса. С точки зрения Потре
бителя частичное обновление интерпретируется и выполняется Поставщиком Службы Облачных Вы
числений, при этом изменяется некоторая часть Ресурса.
В соответствии с общей семантикойРиТ, определенной ранее, любой атрибут исходного (полного)
Ресурса, включенный в запрос HTTP, должен привести к ошибке, если этот атрибут не перечислен в
параметре запроса Sselect (см. 5.4).
Примечание — Это происходит вследствиетого,чтотакие атрибуты неизвестны частичному Ресурсу.
В следующем примере показано, какзапрособновляет только атрибутыпате иdescription Machine:
PUT /Machines/myMachine?$select=name,description HTTP/1.1
Host: «наименование уэла>
Accept, application/xml
Content-Type: application/xml
Content-Length: «длина>
«Machine>
«name> My New Machine «/name*
«/Machine»
Атрибут name установлен в "My New Machine’ ,а атрибут description удален.
15