Удаление члена многозначного пользовательского атрибута с помощью scim PATCH

У меня есть пользовательский магазин, где у пользователя есть многозначные атрибуты, такие как электронная почта. Таким образом, у пользователя будет атрибут, называемый электронными письмами, который может содержать от 0 до многих электронных писем.

"emails" : ["[email protected]", "[email protected]",........]

Допустим, мне нужно удалить адрес электронной почты «[email protected]» из списка адресов электронной почты пользователей. Могу ли я сделать это с помощью пользовательского PATCH? Если да, то что я должен отправить с запросом?


person Chamila Wijayarathna    schedule 11.06.2015    source источник


Ответы (1)


Вы можете сделать это с помощью PATCH. За исключением случая удаления значения из многозначного атрибута, вы должны включить вложенный атрибут «операция», который в этом случае должен иметь значение «удалить». Это обсуждается в разделе 3.3.2 спецификации: http://www.simplecloud.info/specs/draft-scim-api-01.html

Вот пример из этой ссылки:

PATCH /Groups/acbf3ae7-8463-4692-b4fd-9b4da3f908ce
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Bearer h480djs93hd8
If-Match: W/"a330bc54f0671c9"

{
  "schemas": ["urn:scim:schemas:core:1.0"],
  "members": [
    {
      "display": "Babs Jensen",
      "value": "2819c223-7f76-453a-919d-413861904646"
      "operation": "delete"
    }
  ]
}
person cody    schedule 15.06.2015