关于REST的基础知识

REST的基础知识


REST这个词应该不止一次出现在我们的视野了,一种很流行的“做法”。在之前呢,总错误的认为REST是基于URL的Web服务,是RPC机制的一种类型,就像SOAP一样。只是通过HTTP URL来触发

恰好相反,REST与RPC几乎没有任何关系。RPC是面向服务的,并关注于行为和动作;而REST是面向资源的,强调描述应用程序的事物和名词

那么REST(Representational State Transfer)是什么

  1. 表述性(Representational):REST资源实际上可以用各种形式来进行表述,包括XML、JSON(JavaScript Object Notation)甚至HTML——最适合资源使用者的任意形式

  2. 状态(State):当使用REST的时候,我们更关注资源的状态而不是对资源采取的行为

  3. 转移(Transfer):REST涉及到转移资源数据,它以某种表述性形式从一个应用转移到另一个应用

更简洁地讲,REST就是将资源的状态以最适合客户端或服务端的形式从服务器端转移到客
户端(或者反过来)。
在REST中,资源通过URL进行识别和定位。至于RESTful URL的结构并没有严格的规则,但
是URL应该能够识别资源,而不是简单的发一条命令到服务器上。再次强调,关注的核心是
事物,而不是行为。
REST中会有行为,它们是通过HTTP方法来定义的。具体来讲,也就
是GET、POST、PUT、DELETE、PATCH以及其他的HTTP方法构成了REST中的动作。这些
HTTP方法通常会匹配为如下的CRUD动作:

  1. Create:POST
  2. Read:GET
  3. Update:PUT或PATCH
  4. Delete:DELETE

尽管通常来讲,HTTP方法会映射为CRUD动作,但这并不是严格的限制。有时候,PUT可以
用来创建新资源,POST可以用来更新资源。实际上,POST请求非幂等性(non-idempotent)
的特点使其成为一个非常灵活的方法,对于无法适应其他HTTP方法语义的操作,它都能够胜任。

参考:《spring实战第4版》--16.1--page 425-426
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值