[英]REST and content-type
我有一个问题,是否可以检测到请求的内容类型,我正在构建REST服务并尝试$_SERVER['CONTENT_TYPE']
但出现未定义的索引错误。 我需要用它来确定我应该接受和被拒绝的内容类型。
如果要查找请求类型GET, POST, PUT, DELETE
它是$_SERVER["REQUEST_METHOD"]
。
根据您的问题,我实际上无法确定您是否在谈论其他请求类型。
编辑。
Content-type
标头通常不在请求中发送。 在HTTP协议中不是必需的。 即使已发送,您也不能依赖它-就像来自用户的任何其他数据一样。 可能是假的。
无论如何,您可以使用getallheaders()
PHP函数获取所有请求标头。
我的解释是,您想要响应请求不可接受的HTTP状态代码4XX
,请看一下这个问题。
您可以尝试headers_list() 。
例:
<?php
header('Content-Type: application/json');
$headers = headers_list();
var_dump($headers);
?>
输出:
array(2) {
[0]=>
string(23) "X-Powered-By: PHP/5.4.5"
[1]=>
string(24) "Content-Type: application/json"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.