restful 访问 接口返回的数据都是xml 在哪里修改可以返回json数据 [ 2.0 版本 ]
restful 访问 接口返回的数据都是xml 在哪里修改可以返回json数据
共 5 个回答
-
真正的restful接口,客户端要什么就返回什么,服务器端的ActiveController的action只需返回数组即可。
接口消费端(例如用curl命令测试)指定http头的Accept字段,
Accept:application/json
返回json格式,Accept:application/xml
返回xml格式。例如:index : curl -H "Accept:application/json" http://.../api/v1/defaults view : curl -H "Accept:application/json" http://.../api/v1/defaults/1, 1为id create : curl -X POST -H "Accept:application/json" http://.../api/v1/defaults, 数据略... update : curl -X PUT -H "Accept:application/json" http://.../api/v1/defaults/1, 1为id delete : curl -X DELETE -H "Accept:application/json" http://.../api/v1/defaults/1, 1为id options : curl -X OPTIONS -H "Accept:application/json" http://.../api/v1/defaults
-
配置 contentNegotiator 下的 formats 为 Response::FORMAT_JSON 即可
例:public function behaviors() { $behaviors = parent::behaviors(); $behaviors['contentNegotiator']['formats']['application/json'] = Response::FORMAT_JSON; return $behaviors; }
共 3 条回复
长春子
注册时间:2013-12-23
最后登录:2015-11-02
在线时长:10小时37分
最后登录:2015-11-02
在线时长:10小时37分
- 粉丝8
- 金钱318
- 威望0
- 积分418