众所周知,在Yii2版本上,我们可以用Yii::$app->request->post()来接收传递的post数据,但是今天跟安卓同事交互的时候,他传递过来的json数据,仍然用以上方法获取,并打印出来看结果的时候,竟然惊奇的发现,原来Json传递过来不能用Yii::$app->request->post()接收的,而且没办法进行json_decode解析操作,因为json_decode需要的参数是个json字符串,但是调用Yii::$app->request->post()的结果是一个数组,并且是一个空数组,经过研究发现,原来只需要在web.php文件中配置下request的配置数组里加上以下代码即可实现,然后就可以用正常的post接收了,Yii2会自动帮你转换成数组.
附上代码:
'parsers' => [
'application/json' => 'yii\web\JsonParser',
'text/json' => 'yii\web\JsonParser',
]