2013-07-31 3 views
1

J'écris l'API REST et je souhaite retourner les réponses au format JSON. Donc, j'ai lu à propos de 'ContextSwitch'. Mais je ne peux pas le faire pour changer les en-têtes à 'application/json' et convertir les données en json.Zend Framework 1.12 et l'assistant 'ContextSwitch'

Voici le code de mon contrôleur:

public function preDispatch() 
{ 

    $this->getRequest()->setParam('format', 'json'); 
    $this->_helper->layout()->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(true); 
} 


public function _init() 
{ 

    $contextSwitch = $this->_helper->getHelper('contextSwitch'); 
    $contextSwitch ->addActionContext('post', 'json') 
        ->initContext('json'); 
} 

public function postAction() 
{ 
    echo 'test'; 

} 

Quand je vérifie la réponse avec l'outil de ligne de commande Curl reçue:

< Content-Length: 4 
< Content-Type: text/html 
< 
* Connection #0 to host localhost left intact 
test* Closing connection #0 

Pourquoi en-tête et les données ne sont pas modifiées? Comment puis-je le réparer?

Répondre

1

On dirait que la méthode _init() n'est pas exécutée du tout. Essayez de le renommer en init().

+0

Merci, le problème était en trait de soulignement. – Tamara

0

Comme je pense que votre code a disparu quelques étapes pour appeler aide de changement de contexte

ici travaille par exemple pour moi d'utiliser changement de contexte pour le repos api

juste aller jeter this API example et faites votre script pour travailler

espérons que cela va certainement vous aider.

Questions connexes