Php 如何使REST请求像RPC一样对用户更友好?
我一直在高度考虑创建REST服务而不是RPC,但在我看来,与RPC服务相比,客户端/用户必须编写大量代码才能实现同样的效果。此外,实现REST服务需要用户了解一些有关REST的基本知识。要用PHP进行说明,请执行以下操作: 休息Php 如何使REST请求像RPC一样对用户更友好?,php,api,rest,rpc,Php,Api,Rest,Rpc,我一直在高度考虑创建REST服务而不是RPC,但在我看来,与RPC服务相比,客户端/用户必须编写大量代码才能实现同样的效果。此外,实现REST服务需要用户了解一些有关REST的基本知识。要用PHP进行说明,请执行以下操作: 休息 要发送GET、POST、PUT、DELETE请求,用户必须使用CURL发送他的请求 当然,这需要他的服务器启用CURL,这对于某些共享主机来说并不好 除了用户需要发送的数据参数外,CURL还需要额外的代码行来发送请求 RPC 要使用RPC服务发送类似的请求,用户只
- 要发送GET、POST、PUT、DELETE请求,用户必须使用CURL发送他的请求
- 当然,这需要他的服务器启用CURL,这对于某些共享主机来说并不好
- 除了用户需要发送的数据参数外,CURL还需要额外的代码行来发送请求
- 要使用RPC服务发送类似的请求,用户只需调用URL和数据参数。ie:example.com?foo=bar&baz=quz
有没有一种方法可以让REST像RPC一样“容易”呢。我正在考虑用RPC方法封装REST请求,但这打破了整个想法,不是吗?REST不会强制您使用GET、POST、PUT和DELETE。这仅仅意味着一个URL代表一个内容。您还可以实现如下RESTful行为:
GET /index.php
GET /item.php?id=x
POST /create.php
POST /update.php
POST /delete.php
甚至创建、更新和删除都可以通过get请求完成…什么让你认为rest服务不能通过URL调用?@Interstarr\u Coder你如何通过URL发送PUT POST删除请求?IMB,很公平,你不能这样做。既然你基本上只使用get,那现在看起来像RPC服务吗?而且,没有更统一的“资源”。从RESTful的角度来看,
索引
,项目
,创建
,更新
,删除
,都是一堆不同的资源。在RPC中,它们可以表示相同的资源。我想我可以实现它,但是它不再是RESTful,而是REST'sh:-)RPC通常有一个单一的访问点,您可以将要调用的方法和要传递给该方法的参数传递给该访问点,即在一个POST变量中使用XML、JOSN、YAML等。这是真的,但是POST并不总是必需的,也不是作为一个标准来实施的。回到您最初对纯粹主义者的建议,对GET请求使用create、update和delete操作违反了RESTful标准原则。我想我的全部意图是打破它,这样用户就可以更容易地使用它,这样他们就不必显式地使用CURL来发送PUT-POST-DELETE。话虽如此,我想你的建议行。