RESTful风格与RESTful Api
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的更多相关文章
- Rest(Restful)风格的Web API跟RPC风格的SOAP WebService--这些名词都啥意思?
经常看到这些词汇,也有baidu或google过,但记忆里总是模糊,不确定,以至于别人问及的时候,总说不清楚.开篇随笔记录下.大家有补充或者意见的尽请留文. 本文顺序: 一.Rest(Restful) ...
- Controller以及RestFul风格
Controller以及RestFul风格 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方式实现 控制器负责解析用户的请求并将其转换为一个模型 在Spr ...
- 新建 ASP.NET Core Web API 项目 -- RESTFul 风格 Hello World!
一.创建一个空项目 请查看 新建 .NET Core 项目 -- Hello World! 一节,新建一个项目: 二.添加引用并修改配置为 Web API (.NET Core 已将 MVC/W ...
- PHP实现RESTful风格的API实例(三)
接前一篇PHP实现RESTful风格的API实例(二) .htaccess :重写URL,使URL以 /restful/class/1 形式访问文件 Options +FollowSymlinks R ...
- PHP实现RESTful风格的API实例(二)
接前一篇PHP实现RESTful风格的API实例(一) Response.php :包含一个Request类,即输出类.根据接收到的Content-Type,将Request类返回的数组拼接成对应的格 ...
- PHP实现RESTful风格的API实例(一)
最近看了一些关于RESTful的资料,自己动手也写了一个RESTful实例,以下是源码 目录详情: restful/ Request.php 数据操作类 Response.php 输出类 index. ...
- Restful风格API接口开发springMVC篇
Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机 ...
- 通过beego快速创建一个Restful风格API项目及API文档自动化
通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...
- PHP实现Restful风格的API
Restful是一种设计风格而不是标准,比如一个接口原本是这样的: http://www1.qixoo.com/user/view/id/1表示获取id为1的用户信息,如果使用Restful风格,可以 ...
随机推荐
- Vue基础-渲染函数-父子组件-传递数据
Vue 测试版本:Vue.js v2.5.13 做了个 demo,把父子组件的数据都绑定到 Vue 实例 app 上,注释中的 template 相对好理解些 <div id="app ...
- Ubuntu下如何修改文件或者文件夹的权限
Ubuntu下如何修改文件或者文件夹的权限------chmod的亲身测试 具体原理如下: Linux系统下如何修改文档及文件夹(含子文件夹)权限,我们来看一下. 一 介 ...
- Delphi编写下载程序:UrlDownloadToFile的进度提示
urlmon.dll中有一个用于下载的API,MSDN中的定义如下: HRESULT URLDownloadToFile( LPUNKNOWN pCaller, L ...
- 3 differences between Savepoints and Checkpoints in Apache Flink
https://mp.weixin.qq.com/s/nQOxsZUZSiPi7Sx40mgwsA 20181104 3 differences between Savepoints and Chec ...
- css calc()
w https://developer.mozilla.org/en-US/docs/Web/CSS/calc The calc() CSS function can be used anywhere ...
- SecureCRT图形界面
一般的咱们用这个工具连接服务器啥的都是命令行模式的,其实他也可以连接图形界面 一.Xmanager SecureCRT连接图形界面的话必须要有 Xmanager 工具的配合才行,SecureCRT显示 ...
- pandas_datareader.data 和 fix_yahoo_finance 获取金融数据
参考:https://zhuanlan.zhihu.com/p/35360694 1.获取数据 #定义所需要的数据 gafataDict={"谷歌":"GOOG" ...
- HDFS租约机制
https://www.cnblogs.com/cssdongl/p/6699919.html
- Linux PHP7的openssl扩展安装
Linux环境下使用PHPmailer发送邮件时,出现如下错误: SMTP -> ERROR: Failed to connect to server: Unable to find the s ...
- PHP计算经纬度之间的距离
<?php /** * 求两个已知经纬度之间的距离,单位为米 * * @param lng1 $ ,lng2 经度 * @param lat1 $ ,lat2 纬度 * @return floa ...