寻找这个概念的简明扼要的解释。
答案 0 :(得分:36)
RESTful应用程序是一种应用程序,它将其状态和功能公开为客户端可以操作并符合某组原则的一组资源:
Tim Scott指出的Wikipedia article提供了有关REST起源,详细原则,示例等的更多详细信息。
答案 1 :(得分:12)
我找到的最佳解释是REST tutorial。
答案 2 :(得分:10)
REST举例:
POST /user
fname=John&lname=Doe&age=25
服务器响应:
200 OK
Location: /user/123
将来,您可以检索用户信息:
GET /user/123
服务器响应:
200 OK
<fname>John</fname><lname>Doe</lname><age>25</age>
更新:
PUT /user/123
fname=Johnny
答案 3 :(得分:6)
RESTful Web服务可以表示从严格的REST解释(其中所有操作都以严格的“RESTful”方式完成)到纯XML协议(即非SOAP或XMLRPC)。在后一种情况下,这是一个误称:这样的REST协议实际上是"plain old XML" (or "POX") protocol。虽然REST协议通常使用XML,因此也就是POX协议,但并不一定是这种情况,反之亦然(仅仅因为协议使用XML并不能使其成为RESTful)。
不用多说,真正的RESTful API包括对对象采取的操作,由使用的HTTP方法和该对象的URL表示。这些操作与数据有关,而与方法的作用无关。例如,CRUD操作(创建,读取,更新和删除)可以映射到某组URL和操作。假设您正在与照片API进行交互。
可能会执行其他操作,例如通过COPY请求复制照片的功能。
通过这种方式,您使用的HTTP方法直接映射到您的调用意图,而不是将您希望采取的操作作为API的一部分发送。相比之下,非RESTful API可能会使用更多URL,并且只使用GET和POST操作。因此,在此示例中,您可能会看到:
你会注意到在这种情况下URL是如何不同的,并且只是出于技术需要而选择方法:要发送数据,你必须使用POST,而所有其他请求都使用GET。
答案 4 :(得分:5)
只需几点:
如果您没有花费大部分时间来制作文档格式,那么您可能不会使用REST。
答案 5 :(得分:2)
这意味着使用名称来识别命令和参数。
名称本身不包含仅仅是句柄或名字的名称,而是包含信息。具体而言,有关请求内容,请求参数等的信息。
名称不是“根”,而是行动加输入数据。
答案 6 :(得分:1)
我从阅读InfoQ.com上发布的文章中学到的最多: http://www.infoq.com/rest和RESTful Web服务预订(http://oreilly.com/catalog/9780596529260/)。
./亚历
免责声明:我与InfoQ.com相关联,但此推荐基于我自己的学习经验。