gpt4 book ai didi

php - Yii2:REST POST 请求参数未到达操作

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:19 25 4
gpt4 key购买 nike

我正在使用 Yii2 制作 REST API。
我启用了漂亮的 URLs via/config/web.php

'urlManager' => [
'enablePrettyUrl' => true,
//'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => $routes,
]

这是 $routes 变量的内容(基本上只是将我的规则与 web.php 配置文件分开的 php 脚本的内容):

return [
'<controller:[\w\-]+>/<id:\d+>' => '<controller>/view',
'<controller:[\w\-]+>/<action:[\w\-]+>/<id:\d+>' => '<controller>/<action>',
'<controller:[\w\-]+>/<action:[\w\-]+>' => '<controller>/<action>',
'api/<controller:[\w\-]+>/<action:[\w\-]+>/<id:\d+>' => 'api/<controller>/<action>',
'api/<controller:[\w\-]+>/<action:[\w\-]+>' => 'api/<controller>/<action>',
'module/<module:[\w\-]+>/<controller:[\w\-]+>/<action:[\w\-]+>' => '<module>/<controller>/<action>',
['class' => 'yii\rest\UrlRule',
'controller' => [
'api/x_controller',
'api/y_controller',
'api/z_controller'
],
'pluralize' => false,
]
];

它工作正常,除了我无法获得我发送的任何参数(我的目标是 JSON 但也尝试发送 application/x-www-form-urlencoded数据并得到相同的结果)。
当前尝试从请求中获取任何类型参数的代码是:

public function actionDoSomething  
{
$contentType = Yii::$app->request->getContentType();
$raw = Yii::$app->request->getRawBody();
$queryParams = Yii::$app->request->getQueryParams();
$bodyParams = Yii::$app->request->getBodyParams();
$token = Yii::$app->request->getBodyParam('access_token');
$userID = Yii::$app->request->getBodyParam('user_id');
$rawJson = file_get_contents("php://input");
}

不幸的是,所有这些变量要么为 null 要么为空,即使我连同我的 POST 请求一起发送了 {"access_token":"XXXtoken","userId":"60"}

我猜这是关于我的 urlManager 的问题,但我不太清楚它是什么。

最佳答案

看来问题根本不在 Yii2 中。
检查我们的 GoDaddy 配置后,我们发现我们的 A 记录指向错误的 IP。
将其指向正确的 IP 后,问题就解决了。

说实话,如果那部分配置有误,我根本不希望请求到达服务器。

关于php - Yii2:REST POST 请求参数未到达操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30305993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com