什么是REST?

来源:互联网 发布:mysql安装教程5.5 编辑:程序博客网 时间:2024/05/20 19:18

面试中经常遇到web serivces的问题。而且经常遇到REST问题。因为在公司里面用过SOAP,所以SOAP没问题。但是REST就比较郁闷,感觉用人单位到处都在叫嚣这个REST。但是事实上,我并不理解这个REST。

最近老婆在淘宝开了个直邮美国代购小店 :http://shop112115493.taobao.com

 我们店只做直邮,美国邮政空运。

  • REST 是一套用来创建Web Service的方法。
  • REST式的Web Service的主旨是让事情尽量的简单化。
  • REST式的Web Service使用HTTP里的方法:GET, POST, DELETE, PUT。你不需要使用URL或请求的内容来指定这个方法。
  • REST式的Web Service使用URL来指明你将要操作什么对象。
  • REST式的Web Service使用HTTP状态码作为返回值。
  • REST式的Web Service调用产生的HTTP请求内容只是用于服务数据――不是用来指明调用方法,目标对象或返回值的。

  
使用REST方法来开发Web Service的关键点是利用HTTP协议的简单性,而不是去扩展这个协议。你的Web Service调用最终应该是非常的简单而且非常的易于理解。

  下面是一个调用REST式的Web Service的例子。用的是一个Javascript函数,它从Web Service里取回一个任务对象。

  function sendGetTaskRequest(packet, template, task, handler) {

  // 这一行创建一个Web请求

  requestGetTask = new XMLHttpRequest();

  // 这一行指明请求的HTTP方法和URL。

  // 注意这个URL是一个简单的对象的路径。

  requestGetTask.open(“GET”, baseUrl + “/v1/packets/” + packet +

  “/templates/” + template + “/tasks/” + task);

  // 这一行调用一个方法来处理响应的数据

  requestGetTask.onreadystatechange = handler;

  // 这一行用来发送请求

  requestGetTask.send();

  }

  为了获取一个任务,你只要对这个任务的URL发送一个GET请求。为了添加一个任务,你只需要向这个任务的URL发送一个POST请求。REST使Web Service用起来非常的简单。

0 0
原创粉丝点击