2013-10-18 7 views
6

में सेना JSON प्रतिक्रिया मेरे द्वारा बनाए गए मार्गों नीचे दिखाया गया है: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')); 

असल में, मैं JSON में प्रतिक्रिया करने के लिए एक विशेष अंत बिंदु के माध्यम से किए गए सभी अनुरोधों चाहते हैं। एपीआई उपसर्ग के साथ किए गए सभी अनुरोधों के ऊपर मामले में। उदाहरण के लिए:

http://localhost/api/products 

किसी HTML की बजाय JSON प्रतिक्रिया वापस करनी चाहिए। ध्यान दें कि इसे .json एक्सटेंशन को परिभाषित किए बिना भी इस तरह से काम करना चाहिए।

+0

संभव डुप्लिकेट (http://stackoverflow.com/questions/19202294/cakephp-rest-api-remove-the-necessity [CakePHP REST API .format की आवश्यकता को दूर] के- प्रारूप) – ndm

उत्तर

8

तो मैं आपके नियंत्रक में अनुमान लगा रहा हूं कि आप यह जांचते हैं कि एपीआई उपसर्ग सेट किया गया था और यदि ऐसा है तो आप उस डेटा को क्रमबद्ध करते हैं जिसे आप दृश्य में वापस देते हैं? यदि ऐसा है तो फिर बस जोड़ें:

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