私は REST API を作成しており、JSON 形式で応答を返したいと考えています。それで、「ContextSwitch」について読みました。しかし、ヘッダーを「application/json」に変更してデータをjsonに変換することはできません。
これが私のコントローラーのコードです:
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';
}
Curl コマンド ライン ツールで応答を確認すると、次のメッセージが表示されました。
< Content-Length: 4
< Content-Type: text/html
<
* Connection #0 to host localhost left intact
test* Closing connection #0
ヘッダーとデータが変更されないのはなぜですか? どうすれば修正できますか?