繁体   English   中英

REST和内容类型

[英]REST and content-type

我有一个问题,是否可以检测到请求的内容类型,我正在构建REST服务并尝试$_SERVER['CONTENT_TYPE']但出现未定义的索引错误。 我需要用它来确定我应该接受和被拒绝的内容类型。

如果要查找请求类型GET, POST, PUT, DELETE它是$_SERVER["REQUEST_METHOD"]

根据您的问题,我实际上无法确定您是否在谈论其他请求类型。

编辑。

Content-type标头通常不在请求中发送。 在HTTP协议中不是必需的。 即使已发送,您也不能依赖它-就像来自用户的任何其他数据一样。 可能是假的。

无论如何,您可以使用getallheaders() PHP函数获取所有请求标头。

http://php.net/getallheaders

我的解释是,您想要响应请求不可接受的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM