什么是REST和RESTful

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

RESTRepresentational State Transfer表象化状态转变表述性状态转变在2000年被提出基于HTTP、URI、XML、JSON等标准和协议支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格一种思想。

就是用URL定位资源用HTTP描述操作。

URL定位资源用HTTP动词GET,POST,DELETE,DETC描述操作。

RESTful是一种常见的REST应用是遵循REST风格的web服务REST式的web服务是一种ROA面向资源的架构。

RESTful service是一种架构模式它的轻量级web服务发挥HTTP协议的原生的GETPUTPOSTDELETE。

REST 并非始终是正确的选择。 它作为一种设计 Web 服务的方法而变得流行这种方法对专有中间件例如某个应用程序服务器的依赖比基于 SOAP 和 WSDL 的方法更少。 

在设计web接口的时候REST主要是用于定义接口名接口名一般是用名次写不用动词那怎么表达“获取”或者“删除”或者“更新”这样的操作呢——用请求类型来区分。

比如我们有一个friends接口对于“朋友”我们有增删改查四种操作怎么定义REST接口

增加一个朋友uri: generalcode.cn/v1/friends 接口类型POST

删除一个朋友uri: generalcode.cn/va/friends 接口类型DELETE

修改一个朋友uri: generalcode.cn/va/friends 接口类型PUT

查找朋友uri: generalcode.cn/va/friends 接口类型GET

上面我们定义的四个接口就是符合REST协议的请注意这几个接口都没有动词只有名词friends都是通过Http请求的接口类型来判断是什么业务操作。

举个反例generalcode.cn/va/deleteFriends 该接口用来表示删除朋友这就是不符合REST协议的接口。

一般接口的返回值是JSON或者XML类型的笔者在互联网的工作经验一般都是JSON类型的。

用HTTP Status Code传递Server的状态信息。比如最常用的 200 表示成功500 表示Server内部错误403表示Bad Request等。反例传统web开发返回的状态码一律都是200其实不可取。

那这种风格的接口有什么好处呢前后端分离。前端拿到数据只负责展示和渲染不对数据做任何处理。后端处理数据并以JSON格式传输出去定义这样一套统一的接口在webiosandroid三端都可以用相同的接口是不是很爽

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6