6

我创建了如下所示的路线:

Router::connect('/:api/:controller/:action/*', array(), array('api'=>'api'));
Router::connect('/:api/:controller', array('action' => 'index'), array('api'=>'api'));
Router::connect('/:api/', array('controller' => 'index', 'action' => 'index'), array('api'=>'api'));

基本上,我希望通过特定端点发出的所有请求都以 JSON 响应。在上述情况下,所有使用 api 前缀的请求。例如:

http://localhost/api/products

应该返回 JSON 响应而不是 HTML。请注意,即使没有定义 .json 扩展名,它也应该以这种方式工作。

4

1 回答 1

9

所以我猜在你的控制器中你检查是否设置了 api 前缀,如果是这样你序列化你返回给视图的数据?如果是这样,那么只需添加:

$this->RequestHandler->renderAs($this, 'json');
于 2013-10-18T11:42:01.860 回答