REST资源三要素

首先上图

如何规划REST服务

  当我们要规划一个REST服务的时候,其中最关键的概念其实就是“资源”。

  资源是什么呢?广义上讲,任何事物只要它有用,那么它就是资源。狭义的讲(在Web环境中),它是一个可以存放、连接在计算机上,可以通过比特流进行操控的实体。一个实体想成为资源,它必须有一个URI。在这里URI包含了两重含义:1)它是资源的名称 2)它是资源的地址。

  在我们规划URI的时候,有几点希望大家能够注意一下:

  • 一个URI标识一个资源,但是一个资源可以被多个URI标识。
  • 资源也是有层次的,这个层次应该在URI上充分的体现出来。
  • 在规划URI的时候,需要定义一些团队内部确认的关键字或符号,这些关键字或符号是有特殊意义的,不能随便使用。
  • 需要有一个URI定义的文档,以备以后的查询和维护。
  • 可以使用URI Template来描述URI的定义。

  当我们定义好资源之后,接下来要做的事情就是定义操作资源的方法以及资源的表述格式了。

  使用HTTP提供的基本方法来对资源进行操作,一般的操作定义如下:POST(创建资源)、GET(获取资源)、PUT(修改资源)、DELETE(删除)。它们正好对应了CRUD。

  对资源的表述,一般的选择会是XML,但是我更加推荐使用JSON来表述资源。在网络中的传输量也小,而且也便于JavaScript来解析,而且现在其他语言解析也是非常方便的事情。不过,最关键的还是占用更少的资源,让同样的资源能够服务更多的人。

时间: 2024-10-13 16:01:29

REST资源三要素的相关文章

webService 三要素

WebService(jax-ws)三要素 SOAP: 基于HTTP协议,采用XML格式,用来传递信息的格式. WSDL: 用来描述如何访问具体的服务.(相当于说明书) UDDI: 用户自己可以按UDDI标准搭建UDDI服务器,用来管理,分发,查询WebService .其他用户可以自己注册发布WebService调用.(现在基本废弃) 1.SOAP(通讯协议) Simple Object Accrss Protocol,简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于X

项目管理的三要素-时间、成本、质量

项目管理在企业中占着很重要的位置,企业的项目管理者应该掌握这门技能,那么怎么做才能有效的进行项目管理呢?管理者大多数知道项目管理的重要性,却很少有人知道怎么做才能让项目管理发挥作用,项目管理是一种工作和记录事件的组织方式,它能够给任何存在目标的任务带来条理与协调性,一个项目是一个任务,或者一系列任务,它们需要在特定的时间段内完成,而且有一定的成本制约,项目管理的目标是为了取得一定的成果. 任何一个项目管理分为三部分. 首先,项目有一个目标; 其次,为了达成目标,每个项目需要用到多少人力与财务资源

《白帽子》里面的安全三要素

(转自白帽子)安全三要素是安全的基本要素,分别是 机密性(Confidentiality).完整性(Integrity).可用性(Availability) 1.机密性 要求保护数据内容不被泄露,加密是实现机密性要求的常见手段 2.完整性则要求保护数据内容是完整的.没有篡改的,常见的保证一致性的技术手段是数字签名 3.可用性要求保护资源是"随需而得"  假设一个停车场有100个车位,在正常的情况下,可以停100辆车.但是某一天,有个坏人搬了100块大石头,把每个车位都占了,停车场无法再

【腾讯Bugly干货分享】彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法

本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/qOMO0LIdA47j3RjhbCWUEQ 作者:李志刚 导语 Http 缓存机制作为 web 性能优化的重要手段,对从事 Web 开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现有好几道题答错了,有的甚至在知道了正确答案后依然不明白其原因,可谓相当的郁闷呢!!为了确认下是否只是自己理解不深,我特意请教了其他几位小伙

盒子模型三要素总结

盒子模型三要素: margin(外边距). border(边框) .padding(内边距) 竖直方向:margin-top + border-top + padding-top + height + padding-bottom + border-bottom + margin-bottom 水平方向: margin-left + border-left + padding-left + width + padding-right + border-right + margin-right

面向对象三要素

面向对象三要素 Posted on 2009-12-11 09:06 我不是高手 阅读(3595) 评论(1) 编辑 收藏 面向对象三要素是:封装 继承 多态 封装 封装就是事物抽象为类,把对外接口暴露,将实现和内部数据隐藏. 继承 面向对象编程 (OOP) 语言的一个主要功能就是“继承”.继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 通过继承创建的新类称为“子类”或“派生类”. 被继承的类称为“基类”.“父类”或“超类”. 继承的过程,

java 25 - 2 网络编程之 网络通信三要素

网络通信三要素 IP地址: InetAddress 网络中设备的标识,不易记忆,可用主机名(计算机的标识号) 端口号: 用于标识进程的逻辑地址,不同进程的标识(正在运行的软件的标识号) 传输协议: 通讯的规则 常见协议:TCP,UDP 例子: 平时我们要进行通讯,需要哪些要素呢? 比如说:我要跟你说话. 第一个条件: 我要先找到你 (IP) 第二个条件: 你得有接收数据的地方 耳朵 (端口) 第三个条件: 我跟你说话,你能接收到,咱按什么方式接收啊,我说英文你懂吗,说韩文你懂吗,不懂是吧,所以我

网络编程模型及网络编程三要素

网络模型 计算机网络之间以何种规则进行通信,就是网络模型研究问题. 网络模型一般是指 OSI(Open SystemInterconnection开放系统互连)参考模型 TCP/IP参考模型 网络模型7层概述: 1.物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0,也就是我们常说的数模转换与模数转换).这一层的数据叫做比特. 2. 数据链路层:主要将从物理层接收的数

机器学习的三要素

机器学习算法原理.实现与实践——机器学习的三要素 1 模型 在监督学习中,模型就是所要学习的条件概率分布或决策函数.模型的假设空间包含所有可能的条件概率分布或决策函数.例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是这些线性函数构成的函数的集合. 假设空间用$\mathcal{F}$表示.假设空间可以定义为决策函数的集合 $$\mathcal{F}=\{f|Y=f(X)\}$$ 其中,$X$和$Y$是定义在输入空间$\mathcal{X}$和输出空间$\mathcal{Y}$上的变