Drupal 8.x通过REST POST(创建)节点不起作用

时间:2014-05-17 20:05:53

标签: rest post drupal-8

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

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

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

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

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

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

感谢您提供任何帮助......我已经花了好几周的时间来解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

  1. 您已为' entity:node'启用了POST方法basic_auth身份验证类型和hal_json格式
  2. 为管理员提供足够的权限,以便它可以通过REST创建节点,为此,导航到drupal安装上的管理员/人员/权限。
  3. 现在/entity/node是创建节点的REST端点我正在使用REST Client来演示POST请求

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

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