У меня есть тестовый скрипт для создания (POST) термина для Теги словарный запас с помощью cUrl. Этот простой скрипт отлично работает на Drupal 8.9.20, но возвращает ошибку 404 на Drupal 9.3.0.
{"message":"Маршрут для 'POST \/entity\/taxonomy\/term\/taxonomy_term'" не найден
Какова конечная точка POST для терминов таксономии?
Я пробовал с разными конечными точками, но получаю одно и то же сообщение об ошибке. В Drupal 8 они работают.
В Drupal 9 я могу POST для узлов; Я могу получить термины таксономии. Только POST для терминов таксономии вызывает проблемы.
Установки Drupal 8 и Drupal 9 представляют собой чистые установки по умолчанию, в которых с помощью Drush включены только модули веб-служб. Оба используют один и тот же скрипт Drush.
Это сценарий, который я использую для запроса конечной точки.
endpoint="http://example.org/entity/taxonomy/term/taxonomy_term?_format=hal_json"
curl --запрос POST \
-к \
-я \
-с \
--user "${BOT_USERNAME}:${BOT_PASSWORD}" \
--header 'Тип содержимого: application/hal+json' \
-H 'Управление кешем: без кеша' \
"${конечная точка}" \
--data-binary "@${json_file}"
Это файл JSON, используемый в этом скрипте.
{
"_ссылки": {
"тип": {
"href": "http://example.org/rest/type/taxonomy_term/tags"
}
},
"видео": [
{
"target_id": "теги"
}
],
"имя": [
{
"значение": "RESTтег",
"язык": "ан"
}
]
}
Это включенные модули и настройки ресурсов.