我正在使用 Zend Framework 1.12.3 开发一个 REST API。我想知道是否可以从处理程序内部设置 HTTP 响应代码。
我正在使用处理程序来检查“接受”标题。如果不支持请求的格式类型,我应该设置一个 415 HTTP 错误(不支持的媒体类型)。但是,我无法从处理程序内部设置响应代码。
我正在使用 Zend Framework 1.12.3 开发一个 REST API。我想知道是否可以从处理程序内部设置 HTTP 响应代码。
我正在使用处理程序来检查“接受”标题。如果不支持请求的格式类型,我应该设置一个 415 HTTP 错误(不支持的媒体类型)。但是,我无法从处理程序内部设置响应代码。
你说的handler是什么意思?
您可以在可以访问 Response 对象的任何地方设置响应代码。
从技术上讲,您几乎可以在任何地方(至少在 Bootstrap 之后)使用以下方式访问 Response 对象:
$response = Zend_Controller_Front::getInstance()->getResponse();
使用以下方法设置您的响应代码:
$response->setHttpResponseCode($code);
在控制器中这样做是最自然的,因为每个控制器都已经引用了 Response 对象:
$this->_response