Tôi có một tập lệnh thử nghiệm để tạo (POST) thuật ngữ cho một Thẻ từ vựng sử dụng cUrl. Tập lệnh đơn giản đó hoạt động tốt trên Drupal 8.9.20, nhưng nó trả về lỗi 404 trên Drupal 9.3.0.
{"message":"Không tìm thấy tuyến nào cho 'POST \/entity\/taxonomy\/term\/taxonomy_term'"}
Điểm cuối POST cho các thuật ngữ phân loại là gì?
Tôi đã thử với các điểm cuối khác nhau, nhưng tôi nhận được cùng một thông báo lỗi. Trong Drupal 8, chúng hoạt động.
Trong Drupal 9, tôi có thể POST cho các nút; Tôi có thể NHẬN các điều khoản phân loại. Nó chỉ là POST cho các thuật ngữ phân loại đang gây ra vấn đề.
Các thiết lập Drupal 8 và Drupal 9 là các cài đặt mặc định rõ ràng chỉ với các mô-đun Dịch vụ web được bật bằng Drush. Cả hai đều đang sử dụng cùng một tập lệnh Drush.
Đây là tập lệnh tôi đang sử dụng để truy vấn điểm cuối.
điểm cuối="http://example.org/entity/taxonomy/term/taxonomy_term?_format=hal_json"
cuộn tròn --request POST \
-k \
-tôi \
-s \
--user "${BOT_USERNAME}:${BOT_PASSWORD}" \
--header 'Loại nội dung: ứng dụng/hal+json' \
-H 'Kiểm soát bộ đệm: không có bộ đệm' \
"${điểm cuối}" \
--data-binary "@${json_file}"
Đây là tệp JSON được sử dụng từ tập lệnh đó.
{
"_liên kết": {
"loại": {
"href": "http://example.org/rest/type/taxonomy_term/tags"
}
},
"vi": [
{
"target_id": "thẻ"
}
],
"Tên": [
{
"giá trị": "RESTtag",
"lang": "vi"
}
]
}
Đây là các mô-đun đã bật và cài đặt tài nguyên.