【发布时间】:2015-12-31 10:21:24
【问题描述】:
我需要帮助才能在 Drupal 8 中使用 POST 方法实现自定义 REST API。
我有一个 REST 资源插件类和一个 get() 方法。 我可以通过 GET 方法访问此资源并且工作正常。
我在同一个类中有一个 post() 方法,但无法通过 POST 方法访问资源,即使通过“REST UI”模块查看时显示“POST”。
但是通过 POST 方法访问时显示如下错误。
{"message":"No route found for \u0022POST \/iot\/location\/\u0022: Method Not Allowed (Allow: GET)"}
我正在使用 POSTMAN Chrome 扩展程序,截图如下
我使用以下博客编写了 REST API,我的代码与这篇博文中显示的代码几乎相同
http://enzolutions.com/articles/2014/12/16/how-to-create-a-rest-resource-in-drupal-8/
提前致谢。
【问题讨论】:
-
我也在努力创建自定义 POST 端点。不幸的是,似乎没有关于创建自定义 POST 端点的代码或教程,一切都集中在现有的核心实体/{entity_type}/{entity}。我认为问题在于不理解 @RestResource 注释中的 'serialization_class' 和 'deriver' 键。希望搞清楚后能在这里给出答案……
-
你清除缓存了吗?谢谢。
-
您是否关注过来自drupal.org/docs/8/api/restful-web-services-api/… 的文档?另外,您使用的是什么版本的 Drupal 8.x(8.1.x、8.2.x)?也许这是 rest_ui 模块的错误。您是否尝试过在没有 rest_ui 帮助的情况下自己创建 yml 文件?