REST(representational state transfer)(表述性状态转移),词汇解析:

1、representational 表述性:指资源以用各种形式来表述,包括 XML、JSON 甚至 HTML——最适合资源使用者的任意形式;

2、state 状态:资源有状态

3、transfer 转移:资源从一个应用转移到另一个应用

什么是资源?

所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息,可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。

资源总要通过某种载体反应其内容,文本可以用txt格式表现,也可以用HTML格式、XML格式表现,甚至可以采用二进制格式;图片可以用JPG格式表现,也可以用PNG格式表现;

JSON是现在最常用的资源表示格式。

统一接口

数据的元操作,即CRUD(create, read, update和delete),分别对应于HTTP方法:GET,POST,PUT,DELETE,

这样就统一了数据操作的接口,仅通过HTTP方法,就可以完成对数据的所有增删查改工作

URI

可以用一个URI(统一资源定位符)指向资源,即每个URI都对应一个特定的资源。

无状态

(这个有点难以理解,可理解为能通过URI直接获取资源,而不用处于已登录等各种状态之中)

所谓无状态的,即所有的资源都可以通过URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变。

有状态和无状态的区别,举个简单的例子说明一下:

查询员工的工资,如工资需要登录后才能获取工资,则这种情况是有状态的;

如果输入一个url即可得到指定员工的工资,则这种情况是无状态的。

典型:HTTP

--------------------------------------------------------------------------

RESTful Api

工作中常见到各种api,很多都被称为RESTful风格,接下来说一下什么是RESTful Api。

RESTful核心思想之一就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/articles是宾语

动词通常就是五种 HTTP 方法,对应 CRUD 操作。

关于RESTful Api的详细规范,可参考:

http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

 

RESTful风格与RESTful Api的更多相关文章

  1. Rest(Restful)风格的Web API跟RPC风格的SOAP WebService--这些名词都啥意思?

    经常看到这些词汇,也有baidu或google过,但记忆里总是模糊,不确定,以至于别人问及的时候,总说不清楚.开篇随笔记录下.大家有补充或者意见的尽请留文. 本文顺序: 一.Rest(Restful) ...

  2. Controller以及RestFul风格

    Controller以及RestFul风格 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方式实现 控制器负责解析用户的请求并将其转换为一个模型 在Spr ...

  3. 新建 ASP.NET Core Web API 项目 -- RESTFul 风格 Hello World!

    一.创建一个空项目 请查看 新建 .NET Core 项目 -- Hello World! 一节,新建一个项目:    二.添加引用并修改配置为 Web API (.NET Core 已将 MVC/W ...

  4. PHP实现RESTful风格的API实例(三)

    接前一篇PHP实现RESTful风格的API实例(二) .htaccess :重写URL,使URL以 /restful/class/1 形式访问文件 Options +FollowSymlinks R ...

  5. PHP实现RESTful风格的API实例(二)

    接前一篇PHP实现RESTful风格的API实例(一) Response.php :包含一个Request类,即输出类.根据接收到的Content-Type,将Request类返回的数组拼接成对应的格 ...

  6. PHP实现RESTful风格的API实例(一)

    最近看了一些关于RESTful的资料,自己动手也写了一个RESTful实例,以下是源码 目录详情: restful/ Request.php 数据操作类 Response.php 输出类 index. ...

  7. Restful风格API接口开发springMVC篇

    Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机 ...

  8. 通过beego快速创建一个Restful风格API项目及API文档自动化

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  9. PHP实现Restful风格的API

    Restful是一种设计风格而不是标准,比如一个接口原本是这样的: http://www1.qixoo.com/user/view/id/1表示获取id为1的用户信息,如果使用Restful风格,可以 ...

随机推荐

  1. iOS 界面翻转切换动画

    [UIView  beginAnimations:nil context:NULL]; [UIView setAnimationCurve:UIViewAnimationCurveLinear]; [ ...

  2. IOS 设置ios中DatePicker的日期为中文格式

    设置ios中DatePicker的日期为中文格式 1.在模拟器中的“设置”-“通用”-“多语言环境”-“语言”设置为“简体中文”, 2.“区域格式”设置为“中国”.

  3. flume jetty 进程关系 flume jetty 跨域问题 jetty 源码分析

    flume  jetty  跨域问题 13481 httpSource的端口进程号 = flume 启动后的进程号 [root@c log]# netstat -atp Active Internet ...

  4. python学习笔记(三)— 文件操作

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件a.txt: 登鹳雀楼 唐代:王之涣 白日依山尽,黄河入海流. 一.文件基 ...

  5. lua连接数据库操作示例代码

    lua连接数据库可以使用resty.mysql库 示例代码如下: local mysql = require "resty.mysql" local db, err = mysql ...

  6. Linux文件操作相关命令

    1.创建文件夹: [root@izuf6ih01h8fzeziddwkfdz sm]# mkdir a 创建一个名为a的文件夹 2.创建文件: [root@izuf6ih01h8fzeziddwkfd ...

  7. H5开发APP入门

    一.MUI MUI是一个最接近原生APP体验的高性能前端框架.我们用它来排版布局. 官方网站:http://dev.dcloud.net.cn/mui/ 二.HTML5PLUS html5+是HBul ...

  8. Django orm 中 python manage.py makemigrations 和 python manage.py migrate 这两条命令用途

    生成一个临时文件 python manage.py makemigrations 这时其实是在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_ini ...

  9. 检查Linux服务器性能命令详解

    如果你的Linux服务器突然负载暴增,如何在最短时间内找出Linux性能问题所在? 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmst ...

  10. POJ2480:Longge's problem(欧拉函数的应用)

    题目链接:传送门 题目需求: Given an integer N(1 < N < 2^31),you are to calculate ∑gcd(i, N) 1<=i <=N ...