如何强制204 rest API返回内容?

时间:2016-03-01 21:47:24

标签: php json api rest

我知道204表示服务器已理解该请求,但没有可用的内容。但我认为是错误的阻止开发人员返回这样的json消息:
return json_encode(array("mex" => "no content"));

我需要的是当API在标题中返回204时返回json。在这种情况下,我不想使用200,因为这意味着返回了内容。

404也不恰当,因为这意味着资源不会退出。
Anyidea这样做?
这是我的代码:

http_response_code(204);
return json_encode(array("mex" => "no content"));

1 个答案:

答案 0 :(得分:2)

你做不到。 The HTTP specification声明:

  

204响应绝不能包含消息体,因此总是在头字段后面的第一个空行终止。

尝试在204响应中包含内容将导致许多HTTP客户端出现故障。如果您想在回复中包含一条消息,则需要使用204以外的响应代码。