锂返回json响应,请求头接受:application/json


Lithium return json response with request header accept:application/json

我有一个锂应用程序,当头请求具有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是默认配置的。