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