Php RESTAPI:请求主体是JSON还是纯POST数据?
我目前正在构建一个RESTAPI。所有GET方法当前都使用JSON作为响应格式。POST和PUT操作的最佳实践是什么?在请求正文或普通帖子中使用JSON?我找不到关于这件事的任何消息 我看到Twitter使用POST,例如:Php RESTAPI:请求主体是JSON还是纯POST数据?,php,json,api,rest,post,Php,Json,Api,Rest,Post,我目前正在构建一个RESTAPI。所有GET方法当前都使用JSON作为响应格式。POST和PUT操作的最佳实践是什么?在请求正文或普通帖子中使用JSON?我找不到关于这件事的任何消息 我看到Twitter使用POST,例如: 使用JSON格式有什么好处?我从github获得的API控制器(完成了一半)需要JSON。真想知道为什么我会选择使用它。这取决于您想要交换的数据。如果它是一个复杂的结构,您需要以结构化的方式(例如XML或JSON)发送它。在JavaWeb应用程序中,json更轻量级,因此
使用JSON格式有什么好处?我从github获得的API控制器(完成了一半)需要JSON。真想知道为什么我会选择使用它。这取决于您想要交换的数据。如果它是一个复杂的结构,您需要以结构化的方式(例如XML或JSON)发送它。在JavaWeb应用程序中,json更轻量级,因此优于XML
如果要从表单发送一些字段,也可以使用“application/x-www-urlformencoded”类型。POST、PUT、GET都是HTTP动词,它们本身并不表示传输数据的格式,因此没有POST格式。这意味着您可以选择任何方式对数据进行编码 现在,您决定使用什么格式实际上应该更多地取决于您的API通常如何使用。如果主要是从web浏览器提交表单,那么使用表单字段编码可能是最合理的做法,因为它使客户端的交互更容易 另一方面,如果主要是从AJAX调用接收JSON数据,那么接收JSON格式可能是有意义的。如果同时使用这两种格式,则没有任何理由不能接受两种格式的数据
另一个要考虑的方面是数据结构的复杂性。表单编码(也类似于查询字符串编码)是一种键值结构,而JSON(或XML)允许更丰富的数据结构
最后,选择对服务器端和客户端都最简单的方法(因为我假设您也将编写相关API的主要客户端使用者)。简单总是比复杂更受欢迎的,直到你能明确地表明,更复杂的东西会给你带来可衡量的好处另外,我要提到的最后一件事是REST不仅仅是干净的URL或正确使用HTTP动词。这些方面真的只是锦上添花。REST体系结构背后的核心思想是。通过简单地跟踪服务器响应中的URL,一个好的客户端可以了解所有可用的操作,并且不需要知道比基本URL更多的内容。其他一切都可以从中发现。将其与定义良好的内容类型结合在一起,您就拥有了这样一个世界:许多客户机可以与许多服务器通信,所有服务器都使用相同的“语言”,客户机除了基本URL和内容类型之外,不需要知道任何关于服务器的信息(反之亦然)。这就是REST的全部内容。我想不出比这更清楚的答案了。我会考虑对我来说最容易的事情。可能是JSON,因为它与本机javascript兼容。谢谢你抽出时间!