2013-10-18 6 views
6

mojego autorstwa trasy pokazano poniżej:Siła Odpowiedź JSON w CakePHP

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')); 

Zasadniczo, chcę wszystkie wnioski złożone przez danego punktu końcowego w odpowiedzi JSON. W przypadku powyżej wszystkie żądania wykonane z prefiksem API. Na przykład:

http://localhost/api/products 

Powinien zwrócić odpowiedź JSON zamiast HTML. Zauważ, że powinno działać w ten sposób, nawet bez zdefiniowanego rozszerzenia .json.

+0

możliwe duplikat [CakePHP REST API usunąć konieczność .format] (http://stackoverflow.com/questions/19202294/cakephp-rest-api-remove-the-necessity -of-format) – ndm

Odpowiedz

8

Więc zgaduję w kontrolerze, czy sprawdziłeś prefiks api, a jeśli tak, serializujesz dane, które oddajesz do widoku? jeśli tak, to wystarczy dodać:

$this->RequestHandler->renderAs($this, 'json');