你如何使用PHP的RESTful API?

时间:2009-08-19 18:35:10

标签: php rest api web-services

我尝试过搜索,但我无法弄清楚如何通过RESTful接口访问数据。我正在寻找示例代码,该代码显示某人使用其API从一些虚构的Web服务访问某些数据。一个简单的“如何运作”的解释也会有所帮助。

6 个答案:

答案 0 :(得分:3)

以下是我刚才用来回答类似问题的伪代码。

任何基于http的RESTful客户端查询的一般流程都应该是这样的:

  1. 在网址的根网址上执行HTTP GET API。
  2. 根据分析解析响应 http中指定的媒体类型 标题“Content-Type”。
  3. 响应是否包含答案 我的问题?
  4. 如果是,则提取信息 并用它做你想做的事。
  5. 如果不是,那么回复 包含指向其他资源的链接 这可能有我的答案 问题。
  6. 如果是,则执行HTTP GET或POST 那个链接基于什么媒体 类型定义告诉你要做。 转到第3步。
  7. 如果没有,那就停下来告诉你 用户你找不到答案。

答案 1 :(得分:2)

有点热门话题。期待答案的爆炸;)

REST的工作原理是使用HTTP请求方法来确定对象的应用程序(REST服务器)操作。常用的4种HTTP方法是GET,POST,PUT和DELETE。

例如,假设有问题的对象是用户数据。 REST URL /对象可能类似于http://mydomain.com/services/user

如果我们想获得有关现有用户的信息,可以GET http://mydomain.com/services/user/someuserid

如果我们想要创建用户,您可以使用POST http://mydomain.com/services/user,请求正文将包含用户的信息。

如果我们想要更改用户的信息,您可以使用PUT http://mydomain.com/services/user/someuserid。同样,请求正文将包含用户的新信息。

如果我们想删除用户,您可以使用DELETE http://mydomain.com/services/user/someuserid

总之,4种不同的HTTP方法通常具有这些含义,但可能因服务器而异,具体取决于RESTful的含义:

  • GET == get,fetch,retrieve和其他同义词
  • POST ==创建,添加
  • PUT == change,alter
  • DELETE ==删除,删除

答案 2 :(得分:1)

查看Sun Cloud API。 AFAIK是第一个(也是唯一一个)在其设计和文档中包含hypermedia as the engine of application state(HATEOAS)约束的API。这种看似微不足道的约束被证明是REST的核心思想之一,并且在过去几年中一直被忽视。

Sun Cloud文档提供了一些很好的示例请求,响应以及超文本驱动的媒体类型的示例。

答案 3 :(得分:1)

再多看一眼之后,我找到了能够提供我所需信息的东西。 http://developer.yahoo.com/php/howto-reqRestPhp.html

答案 4 :(得分:0)

http://oreilly.com/catalog/9780596529260/

第2章和第11章 - 网站上的示例代码。

答案 5 :(得分:-1)

如果您正在寻找与基于SOAP的服务和“添加服务引用”或“添加Web引用”相似的体验,那么您将无法找到它。基于REST的服务非常轻巧,不需要工具。

您只需使用WebRequest类从服务进行POST或GET。您将创建要使用LINQ to XML或XML Serialization或其他任何您喜欢的XML发送的XML。当响应返回时,您将解析它,就像任何其他XML一样。

例如,请参阅“A REST Client Library for .NET, Part 1”(抱歉,没有第二部分)。