2013-07-15 8 views
0

CakePHP REST Simple Setup을 사용하는 website.com/model/data.json과 같은 URL에서 내 애플리케이션을 위해 JSON REST API를 사용하고 있습니다.CakePHP가 기본 라우팅 확장자를 추가

그러나 .json 확장명을 사용하지 않아도 동일한 작업을 수행하고 싶습니다. 즉, website.com/model/data.json의 응답은 website.com/model/data과 같아야합니다.

주어진 컨트롤러 기능에 대해 묵시적/기본 확장명을 설정하는 방법이 있습니까?

FWIW : 저는 CakePHP 2.3을 사용하고 있습니다.

+0

url에'.json' 확장자가 없더라도 JSON을 출력하고 싶습니까? 왜? 그것은 "비표준"REST가 될 것입니다. JSON을 보거나 .json URL을 입력해야하는 이유는 무엇입니까? – Costa

+0

그게 내가하고 싶은 일이야. 내 API URL을 더 예쁘고 일관되게 만들려고했습니다. 대신에 .json 확장자없이 .json URL에 경로를 정의하는 방법은 무엇입니까? – Nick

+0

더 예뻐요? 확장 기능을 제거하면 애매함 때문에 사용하기가 더 어려워집니다. 모든 주요 업체의 API를 살펴보십시오. 그들은 모두 확장 기능을 사용합니다. – Costa

답변

1

은 당신의 routes.php 파일에 다음을 추가, CakePHP의에서 경로를 설정하려면 :

Router::connect(
    '/model/data', 
    array('controller' => 'model', 'action' => 'data', 'ext' => 'json') 
); 

라우팅에 대한 자세한 내용은 http://book.cakephp.org/2.0/en/development/routing.html를 참조하십시오.

+0

좋습니다. 'ext'인수 대신 'data.json'을 시도했습니다. 감사. – Nick