REST API规范
REST API规范是什么
REST 是Roy Fielding博士在2000年他的博士论文中提出的一种软件架构模式的风格。是一种设计风格,不是标准,没有谁强制性要求,只是提供了一组设计原则和约束条件。就像舞蹈中的嘻哈风,民族风一样。还有其他风格是 SOAP和 RPC等 。
SOAP是一种数据数据交换协议规范 ,也是一种风格。
SOAP的特点是:轻量的,简单的,基于XML的。
SOAP的优点是 :易用,灵活,跨语言,跨平台。
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
参考 https://www.cnblogs.com/guanghe/p/9121754.html
REST
可以看着是http
协议的一种直接应用,默认基于json
作为传输格式,使用简单,学习成本低效率高,~~但是安全性较低~~,而SOAP
可以看着是一个重量级的协议,基于xml
,SOAP
在安全方面是通过使用XML-Security
和XML-Signature
两个规范组成了WS-Security
来实现安全控制的,当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持 。这是REST
薄弱的地方。
REST就是一种设计API的模式。最常用的数据格式是JSON。
为什么要用 REST API规范
1)降低开发的复杂性,更简洁,更有层次。
2)提高系统法人可伸缩性,更易于实现缓存等机制
如何设计 REST API 规范
- 不用大写;
- 用中杠
-
不用下杠_
; - 参数列表要encode;
- URI中的名词表示资源集合,使用复数形式。
资源集合 vs 单个资源
URI表示资源的两种方式:资源集合(查询所有数据)、单个资源(附带查询条件)。
避免层级过深的URI
‘/’
在url中表达层级,用于按实体关联关系进行对象导航,一般根据id导航。
过深的导航容易导致url膨胀,不易维护,如 GET /zoos/1/areas/3/animals/4
,尽量使用查询参数代替路径中的实体导航,如GET /animals?zoo=1&area=3
;
本文内容:
SOA, SOAP, REST, RPC 风格 特性 发展史 应用场景对比
待更新
REST API规范相关推荐
- php restful规范,RESTFul API规范 详细指南
RESTFul规范 RESTFul是一种HTTP API接口规范,只要满足的RESTFul规范,即可称为RESTFul API. 既然是接口,我们先来了解一下,他和传统的API接口有何不同吧. 本文以 ...
- RESTful API 规范
REST 和 RESTfulAPI REST是REpresentational State Transfer表述性状态转移 的首字母缩写,是一种基于超媒体构建分布式系统的架构风格.与其他架构风格一样, ...
- 【Restful】你还不懂Restful API规范吗?
进入正文之前,先带着小伙伴们了解几个名词,源自百度百科. 标题中涉及的核心名词API,restful 扩展 何为API呢? API(Application Programming Interface, ...
- Elasticsearch APIs解析(一、API规范及约定)
(本API基于Elasticsearch7.7版本) 从本节开始我们借助Kibana工具编写api 1.多索引支持 大部分的API可以支持跨多个索引查阅索引信息 例如: GET /test1,test ...
- 团队RESTful 风格API规范
实际上就是用RESTful风格来包装HTTP协议,并用json或xml格式实现数据交互. RESTful风格: 网络资源实体化,CURD对资源进行操作. 好的规范评判标准:直观.扩展.优雅 1.数据交 ...
- 阮一峰RESTful API规范
一.URL 设计 1.1 动词 + 宾语 RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构.比如,GET /articles这个命令,GET是动 ...
- 初识 RESTful API规范
简介 一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. rest是一种 ...
- restful 风格 web api规范
协议:http/https 域名 : http://api.example.com/xxx/xxx api: 标明api接口服务 xxx: 服务 xxx: 资源 版本控制: 一.使用MediaType ...
- 微软宣布在Azure API管理中预览OpenAPI规范V3
最近,微软宣布在Azure API管理中支持OpenAPI规范V3,他们的服务允许创建.发布.监控和维护API.OpenAPI规范的使用是通过 OpenAPI .NET SDK完成的,并支持从它们的实 ...
最新文章
- 新转机!2020年想裸辞的程序员们注意了
- 史上最全 Java 多线程面试题及答案
- 01.几张图轻松理解String.intern()
- Python3序列解包
- 计算平均指令时间_为什么向量化计算(vectorization)会这么快?
- python excel数据分析实战_一次完整的数据分析实战!仅用4步,效率吊打Excel和Python...
- 一道说难不难的js题目
- 14-求两个日期之间的天数
- 电信移动联通广电喜提5G牌照,5G手机明年爆发
- CE修改器入门:运用代码注入
- 可视化软件有哪些?各自的优缺点?
- 硬盘播出系统_昌吉广播电视台中型多功能演播室系统概述
- 串口termios函数
- 李南江 html5 知乎,从知乎看如何鼓励优质UGC内容
- ansys mechanical 脚本编写
- 计算机二级大题知识点汇总,计算机二级office复习知识点「汇总」
- 申请美国大学计算机专业,美国TOP20大学计算机专业申请建议
- web注释@WebService,@WebMethod,@Oneway,@WebParam
- animated-rotate
- 模拟器什么的都过时了!这样玩吃鸡才能真正的高清无延迟
热门文章
- MySQL旧版本的完整卸载(最全面)
- 立创EDA安装ibom插件
- pgsql处理文档类型数据_PostgreSQL 基本数据类型及常用SQL 函数操作
- html大作业展示个人风采,个人风采展示自我介绍精选模板
- 【转】初识caffe2
- linux脚本量产,可玩性很高的量产键盘、套件 HEAVY SHELL KIRA 96简单上手
- matlab 1向量组,matlab-线性代数 rank 向量组的秩
- Java写时复制CopyOnWriteArrayList
- 导入地形数据到pointwise中生成网格
- 安装RVM(ruby版本控制)