我有一个锂应用程序,当头请求具有Accept:application/json
时,我试图返回json响应(我希望避免在路由中使用类型参数)
我在我的应用程序/bootstrap/media.php中添加了此指令,但我仍然有一个html响应
Media::type('json', array('application/json'), array(
'conditions' => array('type' => true)
));
我错过了什么?
我看到了一个类似的问题,但它与框架的发展相吻合:PHP litium(li3)如何使用JSON 设置自动响应
由于内容协商涉及一些开销,因此默认情况下不会启用。要启用它,只需在控制器中添加以下内容:
protected function _init() {
$this->_render['negotiate'] = true;
parent::_init();
}
此外,您不需要Media
配置,因为JSON是默认配置的。