Spring HATEOAS 如果 Web 应用基于 Spring 框架开发,那么可以直接使用 Spring 框架的子项目 HATEOAS 来开发满足 HATEOAS 约束的 Web 服务。...本文的示例应用基于 Java 8 和使用 Spring Boot 1.1.9 来创建,Spring HATEOAS 的版本是 0.16.0.RELEASE。...Spring MVC 提供了相关的工具类可以获取 Web 应用启动时的主机名和端口号,不过创建动态的链接 URL 还需要可以获取资源的访问路径。...HAL(Hypertxt Application Language)是一个被广泛采用的超文本表达的规范。应用可以考虑遵循该规范,Spring HATEOAS 提供了对 HAL 的支持。...Spring HATEOAS 在 Spring MVC 框架的基础上,允许开发人员通过简单的配置来添加 HATEOAS 约束。
(RestFul API Tutorial)•https://aisensiy.github.io/2017/06/04/spring-boot-and-hateoas/(Spring中使用HATEOAS.../spring-hateoas-tutorial(https://www.baeldung.com/spring-hateoas-tutorial) 备注:HATEOAS这个大家可能之前并没有怎么接触过...2、路径(接口命名) 路径又称"终点"(endpoint),表示API的具体网址。...3、版本(Versioning) 应该将API的版本号放入URL。...在Spring 中有一个叫做HATEOAS的API 库,通过它我们可以更轻松的创建除符合 HATEOAS 设计的API。
要跳过基础知识,请执行以下操作: 下载并解压本指南的源代码库,或使用Git克隆它:git clone https://github.com/spring-guides/gs-rest-hateoas.git...Spring HATEOAS 尊重各种X-FORWARDED-标头。...@EnableAutoConfiguration:告诉 Spring Boot 根据类路径设置、其他 bean 和各种属性设置开始添加 bean。...例如,如果spring-webmvc位于类路径上,则此注释将应用程序标记为 Web 应用程序并激活关键行为,例如设置DispatcherServlet....您刚刚使用 Spring HATEOAS 开发了一个超媒体驱动的 RESTful Web 服务。
Web 相关组件要求 Spring MVC JAR 位于类路径中。其中一些甚至提供与Spring HATEOAS 的集成。...它还检测类路径上的 Spring HATEOAS 并为其注册集成组件(如果存在)。...在初始化期间SpringDataJacksonModules,像 SpringDataJacksonConfiguration, 被基础设施拾取,以便声明的com.fasterxml.jackson.databind.Modules...以下域类型的数据绑定混合由公共基础设施注册。...对于 Spring MVC,必要的转换器在活动时会自动注册,@ EnableSpringDataWebSupport并且所需的依赖项在类路径中可用。
最后一步是让 Spring Data 基础设施知道定制的存储库基类。...该方法被称为一个Spring数据存储库的每一次一个save(…),saveAll(…),delete(…)或deleteAll(…)方法被调用。 4.8....其中一些甚至提供与Spring HATEOAS 的集成。...它还检测类路径上的 Spring HATEOAS 并为其注册集成组件(如果存在)。...在初始化期间SpringDataJacksonModules,像 一样 SpringDataJacksonConfiguration,被基础设施接收,以便声明的com.fasterxml.jackson.databind.Modules
简介 SpringBoot提供了HATEOAS的便捷使用方式,前面一篇文章我们也讲了如何在SpringBoot中使用HATEOAS。...链接Links HATEOAS的一个非常重要的特征就是在resources资源中包含超媒体,而超媒体最简单的表示就是链接。 Spring HATEOAS为我们简化了封装Links的功能。...type="text/css" href="theme.css" /> 可以看到一个link有两个比较重要的属性,一个是href代表link的链接,还有一个属性是rel表示的当前文档与被链接文档之间的关系...代表的是当前文档与被链接文档之间的关系。Spring HATEOAS中有一个LinkRelation类来表示。...HATEOAS的基础,掌握了他们基本上就掌握了Spring HATEOAS。
Spring JPA 拓展 翻译:Spring Data Extensions 本节记录了一组Spring数据扩展,它们支持在各种上下文中使用Spring数据。...Data web支持的文档,因为它是在Spring Data Commons的当前(及以后)版本中实现的。...它还将检测类路径上的Spring HATEOAS,并为其注册集成组件(如果存在的话)。...-- If you use Spring HATEOAS, register this one *instead* of the former --> 基础Web支持 上一节中展示@EnableSpringDataWebSupport的配置注册了几个基本组件: DomainClassConverter让Spring MVC从请求参数或路径变量中解析存储库管理的域类的实例
“Spring Framework”框架是整个生态的核心基础,其他框架都需要依赖“Spring Framework”提供的基础功能,而且每个框架都有自己独立的代码仓库。...9.Spring HATEOAS 如果Web应用基于Spring框架(即:使用了Spring MVC)开发,那么可以直接使用Spring HATEOAS来开发满足HATEOAS约束的RESTFul服务。...这里需要理解一个单词简写:“HATEOAS”。...22.Spring IO Platform 简单来说,Spring IO Platform是一个对项目依赖进行统一版本管理的工具。...本质就是一个pom文件,它记录了Spring项目和其它第三方库对应的版本信息。 社区项目 社区项目目前只有2个:Spring ROO,Spring Scala。
博客:http://blog.didispace.com 小工具一枚,欢迎使用和Star支持,如使用过程中碰到问题,可以提出Issue,我会尽力完善该Starter 版本基础 Spring Boot:...2.xswagger.version=1.1.0.RELEASE swagger.license=Apache License, Version 2.0swagger.license Url=https...**swagger.exclude-path=/error, /ops/** 配置说明 swagger.title=标题 swagger.description=描述 swagger.version=版本...我们可以使用 swagger.base-path来指定所有需要生成文档的请求路径基础规则,然后再利用 swagger.exclude-path来剔除部分我们不需要的。...boot自带 /error请求路径。
2.2的新功能 依赖升级 Spring Boot 2.2以下Spring依赖升级到了新的版本: Spring AMQP 2.2 Spring Batch 4.2 Spring Data Moore Spring...Framework 5.2 Spring HATEOAS 1.0 Spring Integration 5.2 Spring Kafka 2.3 Spring Security 5.2 Spring...Solr 8.0 性能提升 作为我们不断提高性能的努力的一部分,我们在Spring Boot 2.2的基础上,在2.1的基础上取得了一些重大进展。...当spring-security-rsocket在类路径上时,Spring Security 的 RSocket 集成也会自动配置。请参阅参考文档的相关部分以获取更多详细信息。...您还可以找到我们计划在下一版本中删除的不推荐使用的类和方法的列表。
独立使用 您还可以在 Spring 容器之外使用存储库基础设施——例如,在 CDI 环境中。您的类路径中仍然需要一些 Spring 库,但通常,您也可以通过编程方式设置存储库。...最后一步是让 Spring Data 基础设施知道定制的存储库基类。...该方法被称为一个Spring数据存储库的每一次一个save(…),saveAll(…),delete(…)或deleteAll(…)方法被调用。 4.8....其中一些甚至提供与Spring HATEOAS 的集成。...它还检测类路径上的 Spring HATEOAS 并为其注册集成组件(如果存在)。
当然这个图案也是可以关闭的,在之前的版本,可以通过下面的方式关闭,但是在1.5.6,就是我现在学习的版本,这种方法是不可以的。...application.setBannerMode(Mode.OFF); application.run(args); } 同时可以在banner.txt这个文件中添加下面这些东西显示当前的使用的SpringBoot的版本号...在application.properties文件中添加下面的信息 server.port=8888 server.context-path=/demo_2 这里主要是修改server的端口号和路径...每当发现class文件被修改,项目就会被重新加载。 五、profile配置 有时候开发和上线用的配置文件application.yml时不一样的,但是修改yml有时候会很麻烦。...对Groovy模板引擎的支持 spring-boot-starter-hateoas 对基于HATEOAS的RESTful服务的支持,通过spring-hateoas实现 spring-boot-starter-hornetq
Spring 查看(CLASSPATH 上可用的框架)已存在的应用程序的配置。在此基础上,Spring Boot 提供了配置应用程序和框架所需要的基本配置。这就是自动配置。...Spring Boot Start Web 的依赖项 下面的截图是添加进我们应用程序的不同的依赖项 依赖项可以被分为 Spring - core,beans,context,aop Web MVC...- 单元测试和集成测试 spring-boot-starter-jdbc - 传统的 JDBC spring-boot-starter-hateoas - 为服务添加 HATEOAS 功能 spring-boot-starter-security...- 启用 Spring Framework 的缓存支持 ###Spring2 和 Spring5 所需要的最低 Java 版本是什么?...path- 这个资源要导出的路径段。 collectionResourceRel- 生成指向集合资源的链接时使用的 rel 值。在生成 HATEOAS 链接时使用。
如果项目中有这些库了,库的版本比较低,会升级到相应的版本。比如 collection 会从 1.0.0 升级到 1.1.0 然而这些情况就是我们往往所忽略的,即使有代码 review,有时候也会漏了。...报告中,我们看到的格式一般是这样的 ** 这里有几个格式需要说明一下** x.x.x (*), 比如图中的 4.2.2(*), 该依赖已经有了,将不再重复依赖, x.x.x -> x.x.x 该依赖的版本被箭头所指的版本代替...x.x.x -> x.x.x(*) 该依赖的版本被箭头所指的版本代替,并且该依赖已经有了,不再重复依赖 AsciiDependencyReportRenderer AsciiDependencyReportRenderer...自定义的 diff 方案 这里的方案是借鉴了 JakeWharton 大神的方案,在其基础之上进行了改造。...,如果 dependency 的全路径不一样,那么可以 diff 出来。
通过IOC容器减少了直接耦合,通过AOP以动态和非侵入的方式增加了服务的功能,为灵活选取不同的服务实现提供了基础,这也是Spring的核心。...Spring HATEOAS 先来理解HATEOAS:大家都听过过REST,它的定位为「分布式超媒体应用」的架构风格,文中提到了HATEOAS(Hypermedia as the engine of application...HATEOAS提供了相关的支持。...主要是解决依赖版本冲突问题,在使用Spring的时候,经常会使用到第三方库,一般大家都是根据经验挑选一个版本号或挑选最新的,风向较大,很容易冲突。...Spring IO Platform能很好地解决这些问题,我们在添加第三方依赖的时候,不需要写版本号,它能够自动帮我们挑选一个最优的版本。
每一个被Spring管理的Java对象都称之为Bean;而Spring提供了一个IoC容器用来初始化对象,解决对象间的依赖管理和对象的使用。...1,Spring模块 Spring是模块化的,这意味着你可以只使用你需要的Spring模块。...核心容器(Core Container) Spring-Core: 核心工具类,Spring其他模块大量使用Spring-Core; Spring-Bean:Spring定义的Bean支持; Spring-Context...Web Spring-Web:提供基础的Web集成功能,在Web项目中提供Spring容器; Spring-Webmvc:提供基于Servlet的Spring MVC; Spring-WebSocket...Spring Batch:简化及优化大量数据的批处理工作。 Spring Security:通过认证和授权保护应用。 Spring HATEOAS:基于HATEOAS原则简化REST服务开发。
但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面的编程,然后在此两者的基础上实现了其他延伸产品的高级功能。...路径匹配和内容协商 Spring MVC可以通过查看请求路径并将它匹配到应用程序中定义的映射(例如@GetMapping Controller方法上的注释),将传入的HTTP请求映射到处理程序。...这被认为是Spring MVC应用程序的 最佳实践。此功能在过去对于没有发送正确的“Accept”请求标头的HTTP客户端来说非常有用; 我们需要确保将正确的内容类型发送到客户端。...Spring HATEOAS 如果正在开发基于超媒体的RESTful API,你可能需要Spring HATEOAS,而Spring Boot会为其提供自动配置,这在大多数应用中都运作良好。...从4.2版本开始,Spring MVC对CORS提供开箱即用的支持。
领取专属 10元无门槛券
手把手带您无忧上云