我正在使用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和跨域详细信息标题信息。
知道缺少什么吗?我是否需要在创建实体表单中添加编码以“接收”发布的数据?我该怎么做/文件应该在哪个目录中?这也是默认基本页面内容类型所必需的吗?
感谢您提供任何帮助......我已经花了好几周的时间来解决这个问题。
谢谢!
答案 0 :(得分:1)
在Drupal 8 alpha 11上它可以工作,但请确保我假设您已在您的站点上启用了REST,HAL,HTTP基本身份验证,序列化模块。
basic_auth
身份验证类型和hal_json
格式现在/entity/node
是创建节点的REST端点我正在使用REST Client来演示POST请求
这是指向图片的链接,使其更加清晰 https://dl.dropboxusercontent.com/u/100492838/POST_Node.png
现在使用Content-Type = hal + json发出POST请求,并设置basic_auth标头。 根据您的网站更改网址。