架构之:REST和HATEOAS】的更多相关文章

目录 简介 HATEOAS简介 HATEOAS的格式 HATEOAS的Spring支持 总结 简介 我们知道REST是一种架构方式,它只是指定了六种需要遵循的基本原则,但是它指定的原则都比较宽泛,我们需要一种更加具象的约束条件来指导我们的编码.这就是HATEOAS. HATEOAS简介 REST的英文全称是REpresentational State Transfer,表示的是状态的转移.而HATEOAS的全称是Hypertext As The Engine Of Application Sta…
1. REST的由来 2. REST的构成 2.1. 资源 2.2. 资源的表述 2.2.1. MIME(Multipurpose Internet Mail Extensions) 2.2.2. 缓存约定 2.3. 资源的自描述 2.3.1. 资源的当前状态 2.3.2. 操作资源的统一接口 2.3.3. 请求的无状态 2.4. HATEOAS 3. REST与分布式事物 4. REST的典型应用案例 5. REST vs RPC 6. 总结 1. REST的由来 REST即表述性状态传递(英…
直至今日,分布式系统(Distributed System)已经取得了大规模的应用,特别是Web的发展,已经给软件开发带来了翻天覆地的变化,这一点已经毋庸置疑了. 构建分布式系统常用的技术通常就是使用分布式对象(DO),远程过程调用(RPC)方式.Web的架构为构建分布式系统带来了全新的开发方式,它抛弃了大量重量级.专家级的中间件,采用各种简单的中间件来满足企业级的需求,例如可靠性,安全,事务等.   REST架构 Web的基础架构就是REST架构,虽然Web开发从HTTP诞生那天起就应该是RE…
HATEOAS HATEOAS(The Hypermedia As The Engine Of Application Statue)是REST架构的主要约束."hepermedia"表示任何包含指向图片.电影.文字等资源的链接,Web是超媒体的经典例子.HATEOAS背后的思想其实非常简单,就是响应中包含指向其它资源的链接.客户端可以利用这些链接和服务器交互. client不用事先知道服务或者工作流中不同步骤,还有client不用再为不同的资源硬编码URI了.而且服务器还可以在不破坏…
1.什么是RestFul 经常上网的同学会发现,现代软件的一个重要趋势就是互联网化,几乎没有一款软件是纯粹的单机版了.通常的情况下,软件管理着服务器的资源以及这些资源的状态变化,用户通过在浏览器输入http地址,能够对服务器的资源进行各种处理.这就要求软件提供一组访问接口,使得软件能够和互联网的http访问格式完美对接.REST对这种借口的一种约束标准.(这里我们所说的软件,最常见的形式就是一个网站系统) REST 是 Representational state transfer 的缩写,翻译…
   http://kb.cnblogs.com/page/186516/ 引子 在移动互联网.云计算迅猛发展的今天,作为一名Web开发者,如果您还没听说过“REST”这个buzzword,显然已经落伍了.夸张点说,甚至“出了门都不好意思跟别人打招呼”.尽管如此,对于REST这个泊来品的理解,大多数人(包括一些资深的架构师)仍然停留在“盲人摸象”的阶段.常常听到各种各样关于REST的说法,例如:有人说:“我们这套新的API决定不用Web Service(SOAP+WSDL),而是直接使用HTTP…
Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯(本文) 微服务架构中的服务发现 微服务之事件驱动的数据管理 微服务部署 重构单体应用为微服务 原文链接:Building Microservices: Inter-Process Communication in a Microservices Architecture 简介 在单体应用中,模块间使用编程语言级别的方法或函数彼此调用.而基于微服务架构的本质是是运…
Hypermedia As The Engine Of Application State (HATEOAS) HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心.它的重要性在于打破了客户端和服务器之间严格的契约,使得客户端可以更加智能和自适应,而 REST 服务本身的演化和更新也变得更加容易. HATEOAS的优点有: 具有可进化性并且能自我描述 超媒体(Hyper…
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 版本管理 在前面已经提到过,一个REST系统为资源所抽象出的URI实际上是对用户的一种承诺.但反过来说,软件开发人员也很难预知一个资源的各方面特征如何在未来发生变化,从而提供一个永远不变的URI. 在一个REST系统逐渐发展的过程中,新的属性,新的资源将逐渐被添加到该系统中.在这些更改过程中,资源的URI,访问资源的动词,响应中的Status Code将不能发生变化.此…
读书笔记,原文链接:http://www.cnblogs.com/loveis715/p/4669091.html,感谢作者! 一.资源表示 1.资源表示:使用 单数 vs. 复数 如果一个URL所对应的资源是使用复数表示的,那么该类型的资源可能有多个.对该URL发送Get请求可能返回该资源的一个列表.如果一个URL所对应的资源是使用单数表示的,那么该类型的资源将只有一个,对该URL发送Get请求将只返回该资源的一个实例. 举例来说,一个网站所售卖的商品可能有多种类别,因此需要在URL中使用复数…