Сообщение 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
Author: bart_88, 2015-08-12

1 answers

Хорошо, значит, эта проблема на самом деле является ошибкой. Для меня проблема была устранена путем применения последнего патча на данный момент, вероятно, патчи потребуют работы и тестов.

С моим запросом были проблемы, и я изменил их выше, чтобы отразить, как должен выглядеть фактический запрос на комментарий (в то время, когда я пишу это).

 1
Author: bart_88, 2015-08-12 06:41:24