如何在Zend Framework 2中返回自定义HTTP状态代码

时间:2013-03-06 11:33:25

标签: zend-framework2

如果给定的apikey不正确,我试图返回401 http状态代码:

class MessageRestfulController extends AbstractRestfulController {
    # ...
    public function get($id) {
        if (!$this->isApiKeyValid()) {
            $response = new Response();
            $response->setStatusCode(Response::STATUS_CODE_401);
            return $response;
        }
        # ...
        return new JsonModel(array(
            'data' => array(...)
        ));
    }
} 

对于我的控制器,我添加了'strategies' => array('ViewJsonStrategy)',因为它是一个AbstractRestfulController,如果操作成功,应返回json。

我是ZF2的新手,不知道实现这种异常的正确方法是什么。

我目前正在这样做的方式不起作用。

感谢您的提示!

1 个答案:

答案 0 :(得分:27)

您的控制器已有一个Response对象,在其上设置状态代码并返回

    if (!$this->isApiKeyValid()) {
        $this->getResponse()->setStatusCode(401);
        return;
    }