我正在尝试在 Yii2 高级应用程序中构建一个 REST API 来管理对我的数据库的简单查询。
按照一些教程,最后一步一步地构建指南中的示例,在快速入门中,让我的模型适用于 GET 和 HEAD 方法。
在模块内创建我的 API 服务,正确设置,使用最少的设置,在 backend/main.php 上请求 JSON 解析器,在 common/main.php 中注册模块并在 urlManager 中创建规则(低于最小的常用规则,enablePrettyUrl , Controller / Action ,...):
['class' => 'yii\rest\UrlRule', 'controller' => ['precapi']]
但是每当我通过 CURL 或 Postman REST Client 尝试其他方法时,它总是给我一个 405 错误:
Method Not Allowed. This url can only handle the following request methods: GET, HEAD.
我想我已经尝试了很多不同的配置和路径试图解决它,但没有任何结果。
唯一的事情是
'enableStrictParsing' => false'
在 urlManager 中,因为它在某些 URL 上给了我一个 404 错误,并且 POST 也不适用于此,尽管应用程序正常工作。任何帮助将不胜感激。
问候。
最佳答案
我认为是多元化的问题,试试这个
['class' => 'yii\rest\UrlRule', 'controller' => 'precapi', 'pluralize'=>false],
关于Yii2 REST 在 POST、PUT 等上给出 405,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30345725/