我正在通过具有表单数据正文的 Postman 发出此 PUT 请求:
并尝试使用此行填充模型:
$model->load(Yii::$app->request->getBodyParams(), '');
看,我尝试在调试控制台上打印请求的worker_id、time_out参数,但得到空值。 getBodyParams() 仅返回一个包含一个(“图像”)元素的数组
对于
POST
以外的方法,Yii2 不使用 $_POST
数组来获取主体参数。它在原始主体上使用 mb_parse_str()
代替。这种方法可能在解析多部分请求正文时出现问题。
yii\web\MultipartFormDataParser
添加到 yii\web\Request::$parsers
以获得 multipart/form-data
内容类型。
您可以将其添加到您的配置中,如下所示:
return [
// ...
'components' => [
'request' => [
'parsers' => [
'multipart/form-data' => 'yii\web\MultipartFormDataParser'
],
],
// ...
],
// ...
];