如何构建REST API?

我是REST的新手。我对PHP SOAP Web服务有所了解。 在那里我们有一个SOAP服务器PHP文件,它具有所有的功能和一个WSDL文件来描述函数和参数。 然后,客户端可以通过wsdl文件从任何地方的代码与SOAP服务器通信。

像这个问题一样,请告诉REST如何成为? 服务器文件可能是什么,客户端如何与REST服务器通信? 使用卷曲还是其他方式? 给我一些更好理解的示例代码。

提前致谢。


  $service_url = 'http://example.com/rest/user/';
   $curl = curl_init($service_url);
   $curl_post_data = array(
        "user_id" => 42,
        "emailaddress" => 'lorna@example.com',
        );
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($curl, CURLOPT_POST, true);
   curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data);
   $curl_response = curl_exec($curl);
   curl_close($curl);

现在如果需要在XML中响应,那么试试这个

$xml = new SimpleXMLElement($curl_response);

或在json中

$json = json_encode($curl_response);

我不确定你想要获得更多关于你的问题。

使用REST服务器的事情是,您可以开始将它理解为一堆可以执行任务的URL(可能带有参数)。

东西是通过检索数据,插入记录等来定义的。参数可以是GET参数或POST参数,使用HTTP定义中的标准。

使用该服务

你最终做的是通过HTTP进行通信。 您可以通过任何方式向REST服务请求资源(例如http :: //yoursite.tld/user/id1,http://yoursite.tld/user?id = 1等,以获取用户1)。 不管是curl,无论是wget,它是java http对象,只是做一个HTTP请求。 改变这个用户也是一样(你可以想象在这里使用POST)。

提供服务

就像一个网站一样,你可以通过创建任何可以分析这些请求的东西来创建服务,并发回信息。 问题是,没有像SOAP这样的中心方法/ WSDL等(REST的优势和劣势)。 只要确保您可以在请求完成时为您的数据提供服务,为每个请求提供特殊文件,重定向您的请求的中央索引以及一些.htaccess重定向欺骗。

一个简单的方法是使用你自己制作的框架或标准。 您可以将您的请求映像为/yourCommand/yourMode/yourData ,其中第一部分告诉您的系统要调用哪个函数/对象/文件,然后该模式告诉它该做什么,最后是您需要的数据(例如用户的ID)。 您的请求可能看起来像/user/get/1来检索用户。

链接地址: http://www.djcxy.com/p/46195.html

上一篇: How to build REST API?

下一篇: How to get data from mysql php to android