yiii2中开发的接口,在postman中使用x-www-format-unencoded的格式进行post请求测试,可以正确返回想要的结果。
但是选用content-type为text/json时,yii控制器中根本没有获取到数据,怎么设置呢。
1.
需要在yii2的配置文件的components 中的request数组里加上以下的转换器:
‘parsers’ => [
‘application/json’ => ‘yii\web\JsonParser’,
‘text/json’ => ‘yii\web\JsonParser’,
]
这样YII2才会根据content-type里的内容寻找正确的转换器。
2.用php://input接收
$post = @file_get_contents('php://input');
//获取请求体,@的作用为屏蔽警告,可去除。
$post = json_decode( $post, true );
//解析成数组
本文介绍如何在Yii2框架中正确处理JSON类型的POST请求。通过配置解析器和使用php://input接收数据,确保控制器能够正常读取JSON数据。
1081

被折叠的 条评论
为什么被折叠?



