博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是REST接口
阅读量:6212 次
发布时间:2019-06-21

本文共 1079 字,大约阅读时间需要 3 分钟。

转载自:http://baijiahao.baidu.com/s?id=1591007540303121112&wfr=spider&for=pc

从事web开发工作有一小段时间,REST风格的接口,这样的词汇总是出现在耳边,然后又没有完全的理解,您是不是有和我相同的疑问呢?那我们一起来一探究竟吧!

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

知乎大神Ivony有句话说的好:

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

咱们不解释REST是哪几个单词的首字母,说了也不知道,翻译成中文就是表现层状态转移,我是弄不懂。

在设计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格式传输出去,定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口,是不是很爽?!

转载于:https://www.cnblogs.com/Sandy-1128/p/REST-SANDY-0413.html

你可能感兴趣的文章
RMQ 问题及解决算法
查看>>
UnicodeDecodeError gbk codec can't decode byte in position illegal multibyte sequence
查看>>
ssd存储的SLC、MLC、TLC闪存芯片颗粒有什么区别?
查看>>
Educational Codeforces Round 26 - A, B, C 思维
查看>>
动态规划-导弹拦截(求最长不上升子序列和最长上升子序列)
查看>>
iOS-本地推送和远程推送,常用的三方推送和常用的测试方法,推送实现和原理详解...
查看>>
Android开发者指南(16) —— Activity and Task Design
查看>>
h5+css3最简单的图片飞入以及淡入淡出效果
查看>>
jquery mobile validation
查看>>
LVS模式二:隧道模式(Tun)
查看>>
DNS 攻击方式及攻击案例
查看>>
Android系统adb_shell命令大全
查看>>
零碎知识点
查看>>
setTimeOut(),和setInterVal()调用函数加不加括号!!!
查看>>
jmobile学习之路 ---- 视口
查看>>
Hadoop1 Centos伪分布式部署
查看>>
supervisor:进程管理工具
查看>>
JAVA的继承
查看>>
rtf格式说明
查看>>
SQL系列(十三)—— 关于表的DDL
查看>>