Http 如何在Zend Framework 2控制器中获取REST请求的内容类型?

Http 如何在Zend Framework 2控制器中获取REST请求的内容类型?,http,rest,request,zend-framework2,content-type,Http,Rest,Request,Zend Framework2,Content Type,Zend\Mvc\Controller\AbstractRestfulController#requestHasContentType(…)使用$request->getHeaders()->get('content-type')检查内容 现在我发送一个如下的cURL请求: # curl -i http://project.dev/seminars/1 -H 'Accept: allication/xml' HTTP/1.1 200 OK Date: Fri, 14 Jun 2013 16:06

Zend\Mvc\Controller\AbstractRestfulController#requestHasContentType(…)
使用
$request->getHeaders()->get('content-type')检查内容

现在我发送一个如下的cURL请求:

# curl -i http://project.dev/seminars/1 -H 'Accept: allication/xml'
HTTP/1.1 200 OK
Date: Fri, 14 Jun 2013 16:06:33 GMT
Server: Apache/2.2.16 (Debian)
X-Powered-By: PHP/5.3.3-7+squeeze15
Vary: Accept-Encoding
Content-Length: 1108
Content-Type: text/html
因此,内容类型是
text/html
。但是我得到的输出是
false

$test = $this->getRequest()->getHeaders()->get('content-type');
var_dump($test);
// output: bool(false)
为了得到REST请求的contentn类型,我做错了什么,应该怎么做



我的错误--我希望从
$request->getHeaders()->get('content-type')
中得到
Accept
值。我应该使用
$this->getRequest()->getHeaders()->get('Accept')

这些是从curl请求中得到的头吗?如果是,则它们是您的操作在响应中发送回的头,而不是您在请求中发送的头(仅包含接受头)。您应该从请求头中获取accept头,并为响应设置适当的内容类型headers@Crisp谢谢你的评论!是的,你是对的,这是回应元信息。