【发布时间】:2015-11-02 11:23:09
【问题描述】:
我正在创建一个 CakePHP 3.0 REST API。我关注了this instructions (routing in the book),并收到了 json 格式的回复。这是我的代码。
01 src/config/rout.php
Router::extensions('json');
02 src/controler/UsersController.php
public function view($id = null) {
$data = array('status' => 'o','status_message' => 'ok' );
$this->set('data', $data);
$this->set('_serialize', 'data');
}
03 向该 URL 发送 post 请求
输出:
{
"status": "o",
"status_message": "ok"
}
但我想在没有 .json 扩展名的情况下输出 json。提前谢谢你。
【问题讨论】:
-
尝试使用
Router::parseExtensions('json');而不是Router::extensions('json');? -
但是,3-0-migration-guide says Router::parseExtensions() 已被删除。请改用 Cake\Routing\Router::extensions()。必须在连接路由之前调用此方法。它不会修改现有路线。
-
@Maraboc 无论如何我都不想为我的 URL 添加扩展名。我想输出不带 .json 扩展名的 JSON 响应。
-
你需要传递像
Accept: application/json这样的标题,你会得到json格式的输出。
标签: php json cakephp url-routing cakephp-3.x