我正在開發一個RESTful API服務,最初只會接受和響應JSON格式。我想遵循標準,並在請求者的情況下接受標題不同於JSON我想用406 HTTP狀態代碼進行響應以通知請求者我無法以其他格式輸出數據。如何正確發送406狀態碼?
根據W3我「應該包括含有可用的實體特徵和位置(S),用戶從該用戶或代理可以選擇一個最合適的列表的實體」在我的響應。
我該怎麼做,因爲上面的解釋沒有告訴我很多。什麼是實體?
任何意見/建議?
編輯
起初我想,也許可以在內容類型頭一個逗號分隔的列表,但也許重新考慮後,我應該做同樣的事情瀏覽器做的,使用接受頭?這實際上更有意義,但我找不到任何信息來支持這一點。
+1個人而言,我將使用text/plain作爲406的返回內容類型,幷包含一些文本,如'此服務僅提供應用程序/ json' – 2010-12-17 00:39:33
@fumachu我不希望類型爲在URI中,我想通過Accept和Content-Type頭部「正確地」完成它(儘管它可能有點OTT)。我也知道瀏覽器傾向於發送'*/*'在這種情況下會使用默認的輸出格式(在這種情況下是JSON)。 – 2010-12-18 15:53:42
@fumachu謝謝澄清,這個「實體」的東西是實際的迴應。我在閱讀文檔時一定錯過了它(或者沒有明確說明)。 – 2010-12-18 15:54:39