2016-03-01 45 views
-4

我知道204意味着服務器已經理解了請求,但沒有可用的內容。但是,我認爲是錯誤的防止開發商返回JSON消息是這樣的:
return json_encode(array("mex" => "no content"));

我需要的是還返回一個JSON時,在標題中的API返回204。在這種情況下,我不想使用200,因爲這意味着有返回的內容。

此外404是不合適的,因爲這意味着資源不會退出。
Anyidea要做到這一點?
這是我的代碼:如何強制204 rest API返回內容?

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

你的json字符串是內容,所以你應該使用200.如果你想使用204,那麼你可以' t返回任何形式的內容。 – vascowhite

+0

@vascowhite我知道這一點,但我想告訴誰通過'204'使用API​​,沒有內容。 – Dillinger

+3

這就是204表示的,你不需要進一步解釋。 – vascowhite

回答

2

你不能。 The HTTP specification指出:

204響應絕不能包含消息體,因此總是由頭字段後面的第一個空行終止。

嘗試在204響應中包含內容將導致許多HTTP客戶端出現故障。如果你想在你的回覆中包含一條消息,你需要使用204以外的響應代碼。

+0

你建議哪個代碼? – Dillinger

+1

這取決於你。如果你想挑剔它,請閱讀規範以查看哪些是最合適的;如果你不這樣做,請使用200. – duskwuff

+0

你對此的看法? – Dillinger

相關問題