【发布时间】:2012-10-26 17:41:07
【问题描述】:
使用 Zend Framework 2 和 AbstractRestfulController 实现 getList 操作,如下所示:
public function getList() {
return new ViewModel(array(
'entities' = array(1 => array(/*..*/), 2 => array(/*..*/))
));
}
我已将 JsonStrategy 添加到视图管理器中,因此当我的 UA 发送 Accept: text/html ZF2 时使用正确的视图来格式化数据。当我的 UA 发送 Accept: application/json ZF2(正确)响应 application/json 并且 JSON 对数据进行编码。
但是现在所有的实体都被包裹在一个“内容”节点中(ViewModel::$captureTo 属性)。
如果动作控制器返回一个 JsonModel 我可以避免这种情况。但是 JsonStrategy 总是以 application/json 响应,而不检查 Accept。
在仍然使用 ViewModel 而不是 JsonModel 的同时,有什么办法可以避免它?
【问题讨论】:
标签: php json viewmodel zend-framework2