环境: yii2.0.0正式版(2014-10-12发布)
PHP 5.5.11(in Xampp)
测试工具:postman
现在有个项目客户端使用AngularJS, 故而需要使用restful风格的服务端,且需要能够默认处理json格式的请求数据.
我按照网上的yii2教程搭设了一个最简单的restful demo(http://yii2.techbrood.com/guide-rest.html), 使用chrome上的web测试工具postman发送GET和DELETE方式请求都能达到目的,但PUT和POST却达不到应有的效果.var_dump一看发现居然是yii2没有正确的解析JSON,可是明明在postman的header里写上content-type为text/json了呀,怎么回事?
原来需要在yii2的配置文件的request数组里加上以下的转换器:
'parsers' => [
'application/json' => 'yii\web\JsonParser',
'text/json' => 'yii\web\JsonParser',
]
这样YII2才会根据content-type里的内容寻找正确的转换器.