REST和内容类型

时间:2014-02-17 08:31:17

标签: php rest

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

3 个答案:

答案 0 :(得分:0)

如果您正在寻找请求类型 - GET, POST, PUT, DELETE - 它是$_SERVER["REQUEST_METHOD"]

根据你的问题,我无法确定你是否在谈论其他事情的请求类型。

编辑。

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

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

http://php.net/getallheaders

答案 1 :(得分:0)

我解释的是,您希望针对不可接受的请求回复HTTP状态代码4XX,请查看this问题。

答案 2 :(得分:0)

您可以尝试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"
}