Сообщение Drupal 8 REST о создании сущностей с отношениями
У меня возникли проблемы с созданием комментариев к узлам (статьям и т.д.) с помощью модуля Rest.
Я включил конечную точку в rest.settings.yml
:
resources:
'entity:node':
GET:
supported_formats:
- hal_json
- json
supported_auth:
- cookie
POST:
supported_formats:
- hal_json
- json
supported_auth:
- basic_auth
'entity:comment':
GET:
supported_formats:
- hal_json
- json
supported_auth:
- cookie
POST:
supported_formats:
- hal_json
- json
supported_auth:
- basic_auth
Я следил за информацией здесь учебник по отдыху - безголовый drupal 8 и на drupal.org Я использовал этот учебник в качестве основы для создания своего запроса, отметив, что с момента публикации статьи произошли изменения.
Я использую basic_auth, устанавливая токен CSRF в соответствии с проблема и я установил разрешения для тестового пользователя на редактирование, удаление и создание статей, основных страниц и комментариев.
Я использую application/json+hal
из-за нерешенной проблемы
с приложением/json
Что происходит, так это то, что сервер отвечает:
403 Forbidden :
{"error":"Access denied on creating field entity_id"}
Запрос не выполняется при проверке доступа к полям только для чтения, которые возвращают AccessResult::forbidden();
Очевидно, я что-то упускаю из своего запроса? Я думал, что хал _links
ссылки указывают на entity_id
?
Моя просьба до сих пор:
{
"_links":{
"type":{
"href":"http://d8.dev/rest/type/comment/comment"
},
"http://d8.dev/rest/relation/comment/comment/entity_id":[
{
"href":"http://d8.dev/node/1?_format=hal_json"
}
],
"http://d8.dev/rest/relation/comment/comment/uid":[
{
"href":"http://d8.dev/user/1?_format=hal_json",
"lang":"en"
}
]
},
"_embedded":{
"http://d8.dev/rest/relation/comment/comment/entity_id":[
{
"_links":{
"self":{
"href":"http://d8.dev/node/1?_format=hal_json"
},
"type":{
"href":"http://d8.dev/rest/type/node/article"
}
},
"uuid":[
{
"value":"c4b5b929-3ccb-4cfd-8200-0ec8f9170926"
}
]
}
],
"http://d8.dev/rest/relation/comment/comment/uid":[
{
"_links":{
"self":{
"href":"http://d8.dev/user/1?_format=hal_json"
},
"type":{
"href":"http://d8.dev/rest/type/user/user"
}
},
"uuid":[
{
"value":"76555fc7-c4c4-4e1f-a053-83ab818bba4f"
}
],
"lang":"en"
}
]
},
"comment_type":[
{
"target_id":"comment"
}
],
"comment_body":[
{
"value":"Hello world this is a comment",
"format":"basic_html"
}
],
"subject":[
{
"value":"A comment test"
}
],
"name":[
{
"value":"admin"
}
],
"thread":[
{
"value":"01/"
}
],
"entity_type":[
{
"value":"node"
}
],
"field_name": [
{
"value": "comment"
}
]
}
1 answers
Хорошо, значит, эта проблема на самом деле является ошибкой. Для меня проблема была устранена путем применения последнего патча на данный момент, вероятно, патчи потребуют работы и тестов.
С моим запросом были проблемы, и я изменил их выше, чтобы отразить, как должен выглядеть фактический запрос на комментарий (в то время, когда я пишу это).