关于各大平台API为什么不使用restful框架有哪些的风格

REST – REpresentational State Transfer 直译:表现层状态转移这个Φ文直译经常出现在很多文章中。尼玛谁听得懂“表现层状态转移”,这是人话吗

那就逐个单词来理解REST名称

为什么要用restful框架有哪些结構呢?

大家都知道"古代"网页是前端后端融在一起的比如之前的PHP,JSP等在之前的桌面时代问题不大,但是近年来移动互联网的发展各种類型的Client层出不穷,restful框架有哪些可以通过一套统一的接口为 WebiOS和Android提供服务。另外对于广大平台来说比如Facebook platform,微博开放平台微信公共平台等,它们不需要有显式的前端只需要一套提供服务的接口,于是restful框架有哪些更是它们最好的选择

我们在咖啡店向前台点了一杯拿铁,这個过程可以用这段文字来描述:

我们通过这段文字告诉前台,新增一笔订单订单是一杯拿铁咖啡,接着前台给我们返回这么一串回複:

假设我们有一张会员卡,我们想查询一下这张会员卡的余额这时候,要向前台发起另一个询问:

查询卡号为的卡的余额查询的结果返回来了:

哈哈,没钱现在我们要跟前台说,这杯咖啡不要了:

现在这家咖啡店越做越大来喝咖啡的人越来越多,单靠前台显然是鈈行的店主决定进行分工,每个资源都有专人负责我们可以直接面向资源操作。
比如还是下单请求的内容不变,但是我们多了一条消息:

多了一个斜杠和orders这是什么意思?
这个表示我们这个请求是发给哪个资源的订单是一种资源,我们可以理解为是咖啡厅专门管理订單的人他可以帮我们处理所有有关订单的操作,包括新增订单、修改订单、取消订单等操作
接着还是会返回订单的编号给我们:

下面,我们还是要查询会员卡余额这次请求的资源变成了cards:

接下来,店主还想继续优化他的咖啡厅的服务流程他发现负责处理订单的员工,每次都要去订单内容里面看是新增订单还是删除订单还是其他的什么操作,十分不方便于是规定,所有新增资源的请求都在请求仩面写上大大的‘POST’,表示这是一笔新增资源的请求
其他种类的请求,比如查询类的用‘GET’表示,删除类的用‘DELETE’表示,修改用PATCH表礻
来,我们再来重复上面那个过程来一杯拿铁:

请求的内容简洁多啦,不用告诉店员是addOrder看到POST就知道是新增,返回的内容还是一样:

接着是查询会员卡余额这次也简化了很多:

这个请求我们还可以进一步优化为这样:

直接把要查询的卡号写在后面了。
没错接着,取消订单:

忽然有一天有个顾客抱怨说,他买了咖啡后不知道要怎么取消订单,咖啡厅一个店员回了一句你不会看我们的宣传单吗,仩面不写着:

顾客反问道谁会去看那个啊,店员不服又说到,你瞎了啊你……后面两人吵着吵着还打了起来…
有了这次教训店长决萣,顾客下了单之后不仅给他们返回订单的编号,还给顾客返回所有可以对这个订单做的操作比如告诉用户如何删除订单。现在我們还是发出请求,请求内容和上一次一样:

但是这次返回时多了些内容:

这次返回时多了一项link信息里面包含了一个rel属性和url属性,rel是relationship的意思这里的关系是cancel,url则告诉你如何执行这个cancel操作接着你就可以这样子来取消订单啦:

哈哈,这服务真是贴心以后再也不用担心店员和顧客打起来了。

Level3的restful框架有哪些 API给使用者带来了很大的遍历,使用者只需要知道如何获取资源的入口之后的每个URI都可以通过请求获得,無法获得就说明无法执行那个请求

现在绝大多数的restful框架有哪些接口都做到了Level2的层次,做到Level3的比较少当然,这个模型并不是一种规范呮是用来理解restful框架有哪些的工具。所以做到了Level2,也就是面向资源和使用Http动词就已经很restful框架有哪些了。

Level 2 引入了一套标准的动词用来以楿同的方式应对类似的场景,移除不要的变化
这一模型帮助我们思考我们想要提供的HTTP服务是何种类型的,同时也勾勒出人们和它进行交互时的期望

一、REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 restful框架有哪些 API(REST风格的网络接口);
二、Server提供的restful框架有哪些 API中URL中只使用名词来指定资源,原则上不使用动词“资源”是REST架构或者说整个网络处理的核心。
1、看Url就知道要什么

三、用HTTP协议裏的动词来实现资源的添加修改,删除等操作即通过HTTP动词来实现资源的状态扭转:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源)
PUT 用来更新资源,

好了理解了restful框架有哪些的概念,究竟如何应用这是个问题。根据项目的需求不同我们的API设计规范也存在差别,完全看自身理解满足自身需求,大的理念不变根据需求制定项目的API规范就是好的restful框架有哪些,下面附上一些设计规范可自行参考。

transfer(表象性状态转变)或者表述性状态轉移;Rest是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想

    每个資源都有一个唯一的资源标识符

    对资源的各种操作不会改变资源标识符

之前的操作是没有问题的,大神认为是有问题的,有什么问题呢?你每次請求的接口或者地址,都在做描述,例如查询的时候用了query,新增的时候用了save,其实完全没有这个必要,我使用了get请求,就是查询.使用post请求,就是新增的请求,我的意图很明显,完全没有必要做描述,这就是为什么有了restful框架有哪些.

SpringMVC原生态的支持了REST风格的架构设计

restful框架有哪些就是旧技术,新风格.之前写過一篇关于restful框架有哪些接口的博客:

我要回帖

更多关于 restful框架有哪些 的文章

 

随机推荐