我是REST新手。我对PHP SOAP Web服务有所了解。我们有一个SOAP服务器PHP文件,它具有所有功能,WSDL文件描述了函数和参数。然后,客户端可以通过wsdl文件从他的代码中任意位置与SOAP服务器进行通信。
就像从this问题那样持续的方式请告诉REST如何成为?什么是服务器文件以及客户端如何与REST服务器通信?使用curl或任何其他方式?给我一些示例代码,以便更好地理解。
提前致谢。
答案 0 :(得分:0)
$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);
答案 1 :(得分:0)
我不确定你想要的是什么,而不是你所关联的问题。
使用REST服务器的事情是,您可以开始将其理解为一堆URLS(可能带有参数)来做事。
通过检索数据,插入记录等来定义东西。参数可以是GET参数或POST参数,使用HTTP定义中的标准。
你最后做的是通过HTTP进行通信。您可以通过REST服务(例如http :: //yoursite.tld/user/id1, http://yoursite.tld/user?id=1等)以任何方式请求资源(例如http :: //yoursite.tld/user/id1, {{3}}等)。是它的卷曲,不管是wget,不管是java http对象,只需要做一个HTTP请求。改变那个用户也是如此(你可以想象在这里使用POST)。
就像网站一样,您可以通过创建任何可以解析这些请求的内容来发送服务,并发回信息。也就是说,SOAP中没有中心方法/ WSDL等(REST的优点和缺点)。只需确保您可以在请求完成后提供数据,包括每个请求的特殊文件,重定向请求的中央索引,以及.htaccess重定向欺骗。
一种简单的方法是使用框架或您自己制定的标准。你可以想象你的请求看起来像/yourCommand/yourMode/yourData
,其中第一部分告诉你的系统要调用哪个函数/对象/文件,然后模式告诉它要做什么,最后数据是你需要的(例如ID)用户)。您的请求可能看起来像/user/get/1
来检索用户。