restful api 请求 post 404 [ 2.0 版本 ]
问题:
1.通过get 方法请求返回正常,通过post方法请求则报404,index方法不需要传参数.
2.Yii::$app->request->bodyParams;获取不到请求参数的问题还没解决. 目的:我打算约定所有接口都以POST方法请求,不知道这样是不是符合restful风格
api控制器类名为TestAbcController.php urlManager配置如下:
'urlManager' => [
'enablePrettyUrl' => true, //美化url==ture
'enableStrictParsing' => true, //启用严格解析
'showScriptName' => false, //隐藏index.php
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => [
'v1/test-abc',
],
'extraPatterns' => [
'GET index' => 'test-abc/index',
'POST index' => 'test-abc/index',
],
'pluralize' => false, //禁用复数形式
],
],
],
alvin_cn 补充于 2017-09-08 10:06
是的,还没有加认证,我想先实现功能,之后需要了再加入认证
共 1 个回答
-
这里的问题在与浏览器发送第一个请求为OPTIONS你可以在你的浏览器调试那看下,
你可以参考yii\rest下面的URL设置。这个总的来说,说来话长,不是一下能说清楚的。
原理就是浏览器会发送一个OPTIONS到你的 test-abc/index
你这时可以修改'OPTIONS,POST index' => 'test-abc/index',
这样就能通过了。
但是项目会用到授权,比如jwt授权,而这个授权的行为是在第一个位置,你的路还很长哈。共 2 条回复Joshua 觉得很赞
alvin_cn
注册时间:2017-08-03
最后登录:2018-10-09
在线时长:11小时37分
最后登录:2018-10-09
在线时长:11小时37分
- 粉丝0
- 金钱15
- 威望0
- 积分125