Рейтинг:0

Как удалить ссылку на объект с помощью JSON:API?

флаг cn

Я не могу понять, как отменить ссылку на объект (удалить ссылку на термин из узла) при редактировании контента через JSON:API.

JSON для создания нового узла:

  константа myNodeToPost = {
    данные: {
      тип: 'my_node_type',
      атрибуты: {
        тело: {
          значение: `${bodyText}`,
          формат: 'базовый_html',
        },
      },
      отношения: {
        refTerm: {
          данные: {
            тип: 'тип таксономии',
            идентификатор: `${taxonomyTermUuid}`,
          },
        },
      },
    },

Узел размещен, и термин таксономии указан правильно.

Ссылка сущности на термин таксономии не требуется. Таким образом, пользователи могут удалить ссылку на термин при редактировании узла.

При редактировании узла, если я ПЛАСТЫРЬ в JSON:API без обращения к ссылке на сущность, узел обновляется, но ссылка на сущность остается на месте.

  константа myEditedNode = {
    данные: {
      тип: 'my_node_type',
      атрибуты: {
        тело: {
          значение: `${bodyText}`,
          формат: 'базовый_html',
        },
      },
    },

Итак, я попытался установить для идентификатора значение null:

  константа myEditedNode = {
    данные: {
      тип: 'my_node_type',
      атрибуты: {
        тело: {
          значение: `${bodyText}`,
          формат: 'базовый_html',
        },
      },
      отношения: {
        refTerm: {
          данные: {
            тип: 'тип таксономии',
            идентификатор: ноль,
          },
        },
      },
    },

Однако это дает 400 Неверный запрос: для связанного ресурса не указан идентификатор.

Как удалить ссылку на объект с помощью JSON:API?

Рейтинг:1
флаг cn

Благодаря franck_lorancy на drupal.org мне удалось исправить это, и теперь это часть документация для PATCH:

{
  "данные": {
    "type": "узел--статья",
    "id": "{{статья_uuid}}",
    "атрибуты": {
      "title": "Мой обновленный заголовок",
      "тело": {
        "value": "Обновлен основной текст",
        "формат": "обычный_текст",
        "summary": "Обновленная сводка"
      }
    },
    "отношения": {
      "my_entity_reference_field": {
        "данные": {},
      }
    }
  }
}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.