私は現在RestApi plugin for CakePHP 3を使用していますが、私はそうのように、URLに拡張子.json
を追加できるようにしたい:CakePHPのルーティングJSONレスポンス
domain.com/api/search/abc.json
CakePHPのドキュメントに続きcreating RESTful routesについて私はスローせずに拡張を使用することができましたエラー。応答は
public function search($term=''){
$this->httpStatusCode = 200;
$this->apiResponse['term'] = $term;
}
です
:私は私がしなければ、これは、私のroutes.phpの上で私のコントローラで(全体のコードを追加するには、[編集])
use Cake\Core\Plugin;
use Cake\Routing\RouteBuilder;
use Cake\Routing\Router;
use Cake\Routing\Route\DashedRoute;
Router::defaultRouteClass(DashedRoute::class);
Router::scope('/', function (RouteBuilder $routes) {
$routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']);
$routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']);
$routes->fallbacks(DashedRoute::class);
});
Plugin::routes();
Router::scope('/', function ($routes) {
$routes->extensions(['json']);
});
これを持っています
{
"status": "OK",
"result": {
"term": "abc.json" # Notice the .json
}
}
abc.json
となりました。abc
となりました。
何か間違っていますか?または.json
を$term
から削除する予定ですか?
どこ実際に構成された拡張機能を利用するだろうルートはありますか? – ndm
あなたはこれを意味しますか? '$ routes-> resources( 'Searches');'? – rlcabral
たとえば、実際のルートを見ることなく、誰も何が間違っているのかを知ることはできません。あるいは、少なくとも問題の可能性を排除できます。あなたの質問に表示されているルートスニペットは何もしません。 – ndm