转载:https://blog.csdn.net/xiaojin21cen/article/details/78696943

REST

REST 即 REpresentational State Transfer 。 
State Transfer 为 “状态传输” 或 “状态转移 “,Representational 中文有人翻译为”表征”、”具象”。合起来就是 “表征状态传输” 或 “具象状态传输” 或 “表述性状态转移”

REST是一种软件架构风格。主要有以下特点:

  • 1.资源通过URL来指定和操作。
  • 2.对资源的操作包括获取、创建、修改和删除,正好对应HTTP协议的GET,POST,PUT和DELETE方法。
  • 3.连接是无状态性的。
  • 4.能够利用Cache机制来提高性能。”

它基于HTTP协议,并不涉及新的技术,而且与SOAP,XML-RPC相比,更加简洁、高效。

这里谈谈我对这四个设计原则的理解。

显式地使用 HTTP 方法

这个是对Web方式的回归。通过显式的调用HTTP的方法(POST、GET、PUT 和 DELETE)来完成资源数据的CURD。

无状态

出于对服务更好地支持负载均衡和故障转移功能、代理和网关的服务器集群功能设计。

公开目录结构式的 URI

资源结构的规范化。目录结构式也是资源结构设计时要考虑的问题,如何设计资源的结构来支持系统的业务?特别是多参数查询业务。

传输 XML、JavaScript Object Notation (JSON),或同时传输这两者

客户端请求选用最适合的特定内容类型。服务的构造应该利用内置的 HTTP Accept Header,其中该 Header 的值为 MIME 类型。

总体来看,REST风格的工作主要集中在系统的设计阶段,要求按照其原则来设计资源的结构和API。这有利于后期的维护和扩展。

RESTful

REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。

HTTP 请求在 RESTful Web 服务中的典型应用

资源 GET PUT POST DELETE
一组资源的 URI,比如 http://www.example.com/resources/ 列出 URI 及该资源组中每个资源的详细信息 使用一组给定的资源替换当前整组资源 在本组资源中创建 /追加一个新资源 删除整组资源
单个资源的 URI,比如 http://www.example.com/resources/1 获取给定资源的详细信息 替换 / 创建指定的资源,并将其追加到相应的资源组 把指定的资源作为资源组,并在其下创建 / 追加一个新元素,使其隶属于当前资源 删除指定元素

RESTful API

RESTful API 是一套互联网应用程序的 API 设计理论。

RESTful API 的返回结果应该符合以下规范

GET /collection:返回资源对象的列表(数组) 
GET /collection/resource:返回单个资源对象 
POST /collection:返回新生成的资源对象 
PUT /collection/resource:返回完整的资源对象 
PATCH /collection/resource:返回完整的资源对象 
DELETE /collection/resource:返回一个空文档

转载于:https://www.cnblogs.com/mybatis/p/9395710.html

REST、RESTful 与 RESTful API相关推荐

  1. mysql例子 restful_Gin实战:Gin+Mysql简单的Restful风格的API

    我们已经了解了Golang的Gin框架.对于Webservice服务,restful风格几乎一统天下.Gin也天然的支持restful.下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全.我们先以一 ...

  2. php restful规范,RESTFul API规范 详细指南

    RESTFul规范 RESTFul是一种HTTP API接口规范,只要满足的RESTFul规范,即可称为RESTFul API. 既然是接口,我们先来了解一下,他和传统的API接口有何不同吧. 本文以 ...

  3. restful风格_什么是RESTful风格的API设计?

    随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目. RESTful概念 首先,我们需要明确的是 ...

  4. php yii2 api框架,Yii2框架制作RESTful风格的API快速入门教程

    先给大家说下什么是REST restful REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Ro ...

  5. 什么是RESTful风格的API设计?

    随着移动互联网的兴起,RESTful风格的API设计也随之流行起来,但我们说了那么多RESTful设计,它到底是什么?本篇文章带大家来了解一下它的真实面目. RESTful概念 首先,我们需要明确的是 ...

  6. Gin实战:Gin+Mysql简单的Restful风格的API

    我们已经了解了Golang的Gin框架.对于Webservice服务,restful风格几乎一统天下.Gin也天然的支持restful.下面就使用gin写一个简单的服务,麻雀虽小,五脏俱全.我们先以一 ...

  7. RESTful风格的API设计

    RESTful风格的API设计 1.你怎么理解 RESTful 2000 年,Roy Thomas Fielding 博士在他那篇著名的博士论文<Architectural Styles and ...

  8. restapi是什么意思_什么是REST 、RESTful 、RESTful API?

    介绍 自从Roy Fielding博士在2000年他的博士论文中提出Rest(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重 ...

  9. springfox源码_【开源项目】springfox-bridge:随心所欲地为非restful接口生成API文档...

    一.引言 目前,利用swagger框架为restful接口编写API文档非常流行,在spring web项目中,利用springfox+swagger更是可以通过注解的方式直接进行API文档的生成,这 ...

  10. jfinal restful.java_JFinal RESTful

    在阅读之前, 先参考 当看完这些之后, 大概应该就能理解, RESTful 的规范, 以及 JFinal 的路由实现方式. 首先, 先看下 JFinal 目前的 RESTful 风格路由实现. 翻开 ...

最新文章

  1. 解决Linux中文乱码
  2. tensordot 的源码解读
  3. 牛客练习赛50 F tokitsukaze and Another Protoss and Zerg
  4. python 计时_Python time clock()方法
  5. 【bzoj1727】[Usaco2006 Open]The Milk Queue 挤奶队列 贪心
  6. ffmpeg源码分析_ffmpeg音视频同步的几种策略
  7. java虚拟机内存存储一个对象_java虚拟机在java堆中对象内存分配、布局、访问
  8. 计算机用户系统软件,计算机软件系统
  9. 《Java就业培训教程》_张孝祥_书内源码_04
  10. 21天学通python-21天学通Python(第2版)_PDF电子书
  11. 记录一个很好用的截图软件greenShot
  12. 网络安全——端口对应服务大全(白帽必备万字快查表)
  13. 最新的紫猫编程学院从零开始学脚本值得学习吗
  14. Gauss型求积公式及其Matlab程序
  15. 自动化测试-uiautomatorviewer.bat
  16. PLC-Recorder快速监控多个PLC位的技巧
  17. 【黄啊码】fastadmin接入微信支付和支付宝支付
  18. 6.数字图像处理及MATLAB实现-马赛克
  19. 云南移动机房介绍,昆明移动机房服务器托管、机柜、移动大带宽租用
  20. 虚拟机无网络连接解决方法

热门文章

  1. python安装第三方库
  2. 51单片机开发板(W25Q16学习)
  3. HTML5新增的一些特性
  4. CentOS6.4卸载自带的OpenJDK并安装jdk1.6.21
  5. 10 | 案例篇:系统的软中断CPU使用率升高,我该怎么办?
  6. 利用 commit 理解镜像构成
  7. 视频云峰会|“超视频化时代的全景创新” 是什么?
  8. 使用率激增250%,这份报告再次将 Serverless 推向幕前
  9. 基于WASM的无侵入式全链路A/B Test实践
  10. Serverless在编程教育中的实践