POST,PUT,GET都是HTTP動詞,本身並不表示傳輸數據的格式,所以沒有POST格式。這意味着您可以按照您選擇的任何方式對數據進行編碼。
現在,你決定採用什麼格式應該真的是更關心你的API如何被使用。如果它主要是從Web瀏覽器提交表單提交,那麼使用表單字段編碼可能是最合理的做法,因爲它使得客戶端的交互更加容易。另一方面,如果您主要是從AJAX調用接收JSON數據,那麼接收JSON格式可能是有意義的。如果你同時做這兩件事,那麼沒有任何理由不能接受格式的數據格式。
要考慮的另一個方面是數據結構的複雜性,您將來回傳遞數據結構。表單編碼(類似於查詢字符串編碼)是一種鍵值結構,而JSON(或XML)允許更豐富的數據結構。最後,在服務器端以及客戶端(因爲我假設你也將編寫相關API的主要客戶端消費者)這兩者中的任何一個都是最簡單的。簡單是總是首選複雜,直到你可以明確表明更復雜給你一個可衡量的好處。
另外,我會提到的最後一件事是REST不僅僅是乾淨的URL或正確使用HTTP動詞。這些方面真的只是錦上添花。 REST架構的核心思想是:Hypertext is the engine of application state。通過簡單地跟蹤服務器響應中的URL,一個好的客戶可以瞭解所有可用的操作,並且除了基本URL之外不需要知道任何其他信息。其他一切都可以從中發現。再加上定義明確的內容類型,你有一個世界,許多客戶可以與很多服務器進行通信,所有的語言都是相同的,客戶不需要知道什麼關於服務器(或副 - 除了基本URL和內容類型以外)。這就是REST的全部內容。
我想不出比這更明確的答案。我會考慮最容易出現的情況。由於本機JavaScript兼容性可能會導致JSON。感謝您的時間! – mauserrifle 2012-03-19 18:36:59