Am un script de testare pentru a crea (POST) un termen pentru a Etichete vocabular folosind cUrl. Acest script simplu funcționează bine pe Drupal 8.9.20, dar returnează o eroare 404 pe Drupal 9.3.0.
{"message":"Nu a fost găsită nicio rută pentru „POST \/entity\/taxonomy\/term\/taxonomy_term'"}
Care este punctul final POST pentru termenii taxonomiei?
Am încercat cu puncte finale diferite, dar primesc același mesaj de eroare. În Drupal 8, funcționează.
În Drupal 9, sunt capabil să POST pentru noduri; Pot să GET pentru termenii taxonomiei. Numai POST pentru termenii taxonomiei cauzează probleme.
Configurațiile Drupal 8 și Drupal 9 sunt instalări implicite curate, cu numai modulele Web Services activate folosind Drush. Ambele folosesc exact același script Drush.
Acesta este scriptul pe care îl folosesc pentru a interoga punctul final.
endpoint="http://example.org/entity/taxonomy/term/taxonomy_term?_format=hal_json"
curl --cerere POST \
-k \
-i \
-s \
--utilizator „${BOT_USERNAME}:${BOT_PASSWORD}” \
--header „Tip de conținut: aplicație/hal+json” \
-H „Control cache: fără cache” \
„${endpoint}” \
--data-binary „@${json_file}”
Acesta este fișierul JSON folosit din acel script.
{
„_links”: {
"tip": {
„href”: „http://example.org/rest/type/taxonomy_term/tags”
}
},
"vid": [
{
"target_id": "etichete"
}
],
"Nume": [
{
"value": "RESTtag",
"lang": "ro"
}
]
}
Acestea sunt modulele activate și setările de resurse.