HATEOAS:

  超媒体作为应用程序状态引擎(HATEOAS)是REST应用程序体系结构的一个组件,它将其与其他网络应用程序体系结构区分开来。

使用HATEOAS,客户端与网络应用程序交互,其应用程序服务器通过超媒体动态提供信息。除了对超媒体的一般理解之外,REST客户端几乎不需要知道如何与应用程序或服务器交互。

  

  优点:相比之下,CORBA中的客户端和服务器通过文档或接口描述语言(IDL)共享的固定接口进行交互。

    HATEOAS约束将客户端和服务器分离的方式使服务器功能能够独立发展。

   

    HEOAS约束是REST的“统一接口”特征的重要组成部分,正如Roy Fielding的博士论文所定义的那样。

          Fielding解释说,这个和其他REST约束的一些严格性的目的是“几十年的软件设计:每个细节都旨在促进软件的寿命和独立进化。许多约束直接与短期相对立不幸的是,人们在短期设计方面相当擅长,而且在长期设计方面通常很糟糕“。

HATEOAS是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心。

    它的重要性在于打破了客户端和服务器之间严格的契约,使得客户端可以更加智能和自适应,

    而 REST 服务本身的演化和更新也变得更加容易。

Spring HATEOAS的简单认识的更多相关文章

  1. 使用 Spring HATEOAS 开发 REST 服务--转

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-SpringHATEOAS/index.html?ca=drs-&utm_source ...

  2. 使用 Spring HATEOAS 开发 REST 服务

    使用 Spring HATEOAS 开发 REST 服务 学习博客:https://www.ibm.com/developerworks/cn/java/j-lo-SpringHATEOAS/ htt ...

  3. Spring Security4.X 简单实例介绍

    简介 本例子采用的是SpringMVC.SpringSecurity和Spring整合的简单使用 使用gradle搭建的项目(gradle比maven更加便捷),可以自行了解 web.xml配置 &l ...

  4. 使用Spring缓存的简单Demo

    使用Spring缓存的简单Demo 1. 首先创建Maven工程,在Pom中配置 <dependency> <groupId>org.springframework</g ...

  5. Spring依赖注入 --- 简单使用说明

    Spring依赖注入 --- 简单使用说明 本文将对spring依赖注入的使用做简单的说明,enjoy your time! 1.使用Spring提供的依赖注入 对spring依赖注入的实现方法感兴趣 ...

  6. A real ROCA using Bootstrap, jQuery, Thymeleaf, Spring HATEOAS and Spring MVC

    http://www.tuicool.com/articles/ENfe2u https://github.com/tobiasflohre/movie-database What is the be ...

  7. spring+springMVC+mybatis简单整合

    spring+springMVC+mybatis简单整合, springMVC框架是spring的子项目,所以框架的整合方式为,spring+Mybatis或springMVC+mybatis. 三大 ...

  8. Spring Boot项目简单上手+swagger配置+项目发布(可能是史上最详细的)

    Spring Boot项目简单上手+swagger配置 1.项目实践 项目结构图 项目整体分为四部分:1.source code 2.sql-mapper 3.application.properti ...

  9. Spring boot 注解简单备忘

    Spring boot 注解简单备忘 1.定义注解 package com.space.aspect.anno;import java.lang.annotation.*; /** * 定义系统日志注 ...

随机推荐

  1. 反射的应用,jdbc封装

    实现在Java中查询数据库并保存在Java中 1.创建Dept类(要查找的类) package cn.ljs; public class Dept { private int deptno; priv ...

  2. linux基础命令--groupdel 删除群组

    描述 groupdel命令用于删除用户组. groupdel命令会去修改系统下的/etc/group和/group/gshadow文件,删除有关用户组的所有项目(一般来说使用groupadd或user ...

  3. jquery和js 判断下拉框选项选中值

    js <script> var selectId = document.getElementById("VariantType");//获取ID selectId.on ...

  4. CSS盒子模型 box-sizing 用法

    盒子模型  box-sizing 属性 语法:box-sizing :content-box || border-box || inherit 属性值: content-box 为(w3c标准盒子模型 ...

  5. Redis的数据结构之sorted-set

    存储Sorted-Set Sorted-Set和Set的区别 Sorted-Set中的成员在集合中的位置是有序的 存储Sorted-set常用命令 添加元素 获得元素 删除元素 范围查询 扩展命令 z ...

  6. Publisher/Subscriber

    public interface IPublisher { void Publish<T>(T data); void Subscribe<T>(object subscrib ...

  7. 简单的linux使用命令

    1 查看日志异常 tail -f 实时查看日志文件 tail -f 日志文件logtail - 100f 实时查看日志文件 后一百行tail -f -n 100 catalina.out linux查 ...

  8. OC闪屏页尺寸

    1242*2688  828*1972 1125x2436 1242×2208  750×1334 640×960   640×1136 320x480    640x960  640x1136

  9. Freeswitch配置之sofia

    SIP模块 - mod_sofia SIP 模块是 FreeSWITCH的主要模块. 在 FreeSWITCH中,实现一些互联协议接口的模块称为 Endpoint.FreeSWITH支持很多的 End ...

  10. Es6的用法

    var callBack=[]; // 这个等于是个闭包,i会累加到3在做运算,所以结果都是6 ;i<=;i++) { callBack[i]=function(){ ; } } console ...