1

我正在使用 Drupal 8.0 alpha 11。我已经能够遵循 Drupal REST 服务指南:

POST 用于创建内容实体 ( https://drupal.org/node/2098511 ) 和相关指南,内容实体上的 GET 和视图生成的列表上的 GET

“GET”的工作很好,但我无法让任何“POST”工作(我也在 drupal.org 网站上发布了这个问题)。

我已经为基本页面和我自己的内容实体测试了 POST,但两者都不起作用。我尝试了很多变体,包括根据 Drupal 8 中的最新更改从 url 中删除“实体”,但 POST 仍然不起作用。我在 Chrome 中使用 Postman 进行测试,我可以再次“获取”一个基本页面和我自己的内容实体,但是使用 POST,我总是得到 200“OK”的返回码,而不是“201”(是我应该根据指南收到的)并且节点不会被创建。

我已经为基本页面和我的内容类型更新了 rest.settings.yml,已经为用户建立了权限,正在使用基本身份验证,并在标题中添加了内容类型 application/hal+json 和跨域详细信息信息。

知道缺少什么吗?我是否需要在我的创建实体表单中添加编码以“接收”发布的数据?我在哪里做这个/文件应该放在哪些目录中?默认基本页面内容类型是否也需要这样做?

感谢您的帮助...我已经花了几周的时间来解决这个问题,但无法弄清楚我错过了什么。

谢谢!

4

1 回答 1

0

在 Drupal 8 alpha 11 上它可以工作,但请确保我假设您已在您的站点上启用 REST、HAL、HTTP 基本身份验证、序列化模块。

  1. basic_auth您已为具有身份验证类型和hal_json格式的“实体:节点”启用 POST 方法
  2. 为管理员提供足够的权限,以便它可以通过 REST 创建节点,为此导航到您的 drupal 安装上的 admin/people/permissions。

现在/entity/node是创建节点的 REST 端点我正在使用 REST 客户端来演示 POST 请求

这是指向图像的链接,它将使其更清晰 https://dl.dropboxusercontent.com/u/100492838/POST_Node.png

现在使用 Content-Type = hal+json 发出 POST 请求,并设置 basic_auth 标头。根据您的站点更改 URL。

于 2014-05-31T12:01:44.167 回答