首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Boot2升级导致HATEOAS href link vs _links问题,现在请求链接返回到登录屏幕

Spring Boot是一个用于构建Java应用程序的开源框架,它简化了Java开发过程并提供了许多开箱即用的功能和库。HATEOAS(超媒体引擎驱动的架构风格)是一种RESTful API设计原则,它通过在响应中包含超链接来提供资源之间的导航。

在Spring Boot 2升级中,可能会遇到HATEOAS href link vs _links问题。这个问题通常是由于Spring Boot 2中对HATEOAS库的更新导致的。在旧版本中,HATEOAS库使用href字段来表示链接,而在新版本中,它使用_links字段。

当请求链接返回到登录屏幕时,可能是由于用户未经身份验证或会话过期导致的。为了解决这个问题,可以采取以下步骤:

  1. 确保用户已经进行身份验证并且会话有效。可以通过检查用户的身份验证状态或使用适当的身份验证机制来实现。
  2. 如果会话已过期,可以将用户重定向到登录屏幕或要求用户重新进行身份验证。
  3. 检查请求链接是否正确。可能是由于链接错误或缺少必要的参数导致返回到登录屏幕。
  4. 检查服务器端代码,确保在处理请求时没有发生错误或异常。

关于Spring Boot和HATEOAS的更多信息,您可以参考以下链接:

请注意,以上答案仅供参考,具体解决方法可能因实际情况而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【转】使用 Spring HATEOAS 开发 REST 服务原文

为了把模型对象类转换成满足 HATEOAS 要求的资源,需要添加链接信息。Spring HATEOAS 使用 org.springframework.hateoas.Link 类来表示链接。...Link 类遵循 Atom 规范中对于链接的定义,包含 rel 和 href 两个属性。...Spring HATEOAS 提供了 org.springframework.hateoas.mvc.ControllerLinkBuilder 来解决这个问题,用来根据 Spring MVC 控制器动态生成链接...该_links 哈希对象中的键(key)是链接的关系,而值(value)则是另外一个包含了 href 等其他链接属性的对象或对象数组。...简单来说,Curie 可以作为链接关系 URL 的模板。链接的关系声明时使用 Curie 的名称作为前缀,不用提供完整的 URL。应用中声明的 Curie 出现在_links 属性中。

1.1K10

Spring认证指南:了解如何使用 Spring 创建超媒体驱动的 RESTful Web 服务

你将建造什么 您将使用 Spring HATEOAS 构建一个超媒体驱动的 REST 服务:一个 API 库,可用于创建指向 Spring MVC 控制器的链接、构建资源表示并控制如何将它们呈现为支持的超媒体格式...该_links元素包含一个链接列表(在这种情况下,正是一个具有关系类型rel和href指向所访问资源的属性的链接)。 要对问候表示建模,请创建一个资源表示类。...由于该_links属性是表示模型的基本属性,因此 Spring HATEOAS 附带了一个基类(称为RepresentationModel),它允许您添加实例Link并确保它们如前所示呈现。...这会导致 Spring MVC 将返回HttpEntity的及其有效负载 (the Greeting) 直接呈现给响应。...如果您将 Spring HATEOAS 服务放在代理后面并使用标头正确配置它X-FORWARDED-HOST,则生成的链接将被正确格式化。

4K60
  • 使用 Spring HATEOAS 开发 REST 服务

    为了把模型对象类转换成满足 HATEOAS 要求的资源,需要添加链接信息。Spring HATEOAS 使用 org.springframework.hateoas.Link 类来表示链接。...Link 类遵循 Atom 规范中对于链接的定义,包含 rel 和 href 两个属性。...Spring HATEOAS 提供了 org.springframework.hateoas.mvc.ControllerLinkBuilder 来解决这个问题,用来根据 Spring MVC 控制器动态生成链接...该_links 哈希对象中的键(key)是链接的关系,而值(value)则是另外一个包含了 href 等其他链接属性的对象或对象数组。...简单来说,Curie 可以作为链接关系 URL 的模板。链接的关系声明时使用 Curie 的名称作为前缀,不用提供完整的 URL。应用中声明的 Curie 出现在_links 属性中。

    1.3K20

    用ASP.NET Core 2.1 建立规范的 REST API -- HATEOAS

    links: [link1, link2...] } 因为这是不合理的JSON结果,它并不是被请求的资源的类型。 暂时先不管这点,为了支持集合的HATEOAS,我们需要一个包装类: ?...其它的链接也存在这个问题。如果是元数据,那么就应该放在Header,如果是资源的一部分,就可以放在响应的body里。现在的情况是,上例和之前的写法是对同一种资源的不同表述。...现在,关于资源的表述以及媒体类型你可能会发现更多的问题。...看之前的例子里面的Links链接,这些链接的格式并不是某个标准的格式,而是我自己创建的格式,消费者API并不知道如何处理这些Link,消费者API需要从API文档中了解如何解析Link,我需要在API文档里描述...这里还有另外一个问题,超媒体允许程序控件、链接等在被需要的时候提供,针对某个动作的链接,API消费者并不知道应该在请求里放什么内容。

    86240

    2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务(三)

    导致了与网络电子商务兴起之前相同的脆弱性。这表明我们的 JSON 输出需要一点帮助。介绍Spring HATEOAS,这是一个 Spring 项目,旨在帮助您编写超媒体驱动的输出。...要将您的服务升级为 RESTful,请将其添加到您的构建中:将 Spring HATEOAS 添加dependencies到pom.xmlorg.springframework.boot...EntityModel是来自 Spring HATEOAS 的通用容器,它不仅包含数据,还包含链接集合。...“建立链接”是什么意思?Spring HATEOAS 的核心类型之一是Link. 它包括一个URI和一个rel(关系)。链接是赋予网络权力的东西。...如果您重新启动应用程序并获取聚合根,您可以看到它现在的样子。

    97430

    SpringBoot之:SpringBoot中使用HATEOAS

    简介 HATEOAS是实现REST规范的一种原则,通过遵循HATEOAS规范,可以解决我们实际代码实现的各种个问题。作为java最流行的框架Spring 当然也会不缺席HATEOAS的集成。...content包含了book的信息之外,还有一个_links属性,表示和该Book相关的资源链接。...构建HATEOAS相关的RepresentationModel 如果要让自己来实现,也可以实现添加链接的操作,但是这样就太复杂了,还好我们有Spring。...但是我们还需要向其添加一些links。 我们使用bookModel.add来添加相应的link。并且使用linkTo方法来生成相应的link。 最后将RepresentationModel返回。...当我们请求/book/1的时候,就会得到最前面我们想要得到的json值。使用HATEOAS是不是很简单?

    1.2K10

    SpringBoot之:SpringBoot中使用HATEOAS

    简介 HATEOAS是实现REST规范的一种原则,通过遵循HATEOAS规范,可以解决我们实际代码实现的各种个问题。作为java最流行的框架Spring 当然也会不缺席HATEOAS的集成。...content包含了book的信息之外,还有一个_links属性,表示和该Book相关的资源链接。...构建HATEOAS相关的RepresentationModel 如果要让自己来实现,也可以实现添加链接的操作,但是这样就太复杂了,还好我们有Spring。...但是我们还需要向其添加一些links。 我们使用bookModel.add来添加相应的link。并且使用linkTo方法来生成相应的link。 最后将RepresentationModel返回。...当我们请求/book/1的时候,就会得到最前面我们想要得到的json值。使用HATEOAS是不是很简单?

    83720

    2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务(五)

    前两个 Spring MVC 路由处理聚合根以及单个项目Order资源请求。第三条 Spring MVC 路由通过在IN_PROGRESS状态中启动它们来处理创建新订单。...通过利用超媒体和链接协议,客户端可以构建得更坚固,并且不太可能仅仅因为数据的变化而崩溃。Spring HATEOAS 可以轻松构建您需要为客户提供服务的超媒体。...但是这种额外的服务器端设置(感谢 Spring HATEOAS 使之变得容易)可以确保您控制的客户端(更重要的是,您不控制的客户端)可以随着您的 API 随着发展而轻松升级。...本教程的每个部分都在单个 github 存储库中作为单独的子项目进行管理:nonrest — 没有自媒体的简单 Spring MVC 应用程序rest — Spring MVC + Spring HATEOAS...HATEOAS 的更多示例,请参阅以上就是今天关于Spring的一些讨论,对你有帮助吗?

    91620

    分布式系统核心:REST风格的架构,REST成熟度模型及REST API管理

    将来客户端可以通过GET请求获得该资源的状态。以上的响应还包含该资源的信息,从而省去了一个获取该资源的请求。当出现问题时,第2级和第1级还有一个不同之处。...HATEOAS是Hypertext AsThe Engine Of Application State的缩写,是指在资源的表达中包含了链接信息,客户端可以根据链接来发现可以执行的动作。...": [ { "rel": "self", "href": "/api/v1/drivers/23" } ] } ] } 回到我们的医院挂号系统案例中,还是使用在第2级中使用过的GET作为首个请求。...同样地,它也让服务器端的团队可以通过向响应中添加新的链接来增加功能。比如,如果客户端开发人员发现了一个之前未知的链接,那他们就会知道这个链接是服务器端提供的新的功能。...·Content-Type定义了请求格式。 ·Accept定义了接收相应的格式列表。 6.使用HATEOAS约束 HATEOAS是REST架构风格中最复杂的约束,也是构建成熟REST服务的核心。

    89620

    Spring认证中国教育管理中心-Spring Data Couchbase教程七

    Web 相关组件要求 Spring MVC JAR 位于类路径中。其中一些甚至提供与Spring HATEOAS 的集成。...它还检测类路径上的 Spring HATEOAS 并为其注册集成组件(如果存在)。...Pageables 的超媒体支持 春天HATEOAS附带的表示模型类(PagedResources),它允许一个丰富的内容Page实例与必要的Page元数据,以及链接,让用户轻松地浏览网页。...您现在可以触发请求 ( ) 并查看类似于以下内容的输出:GET http://localhost:8080/persons { "links" : [ { "rel" : "next",...默认情况下,汇编器指向调用它的控制器方法,但您可以通过传递自定义Link作为基础来构建分页链接,从而重载 PagedResourcesAssembler.toResource(…)方法来自定义它。

    99510

    使用 ASP.NET Web API 构建超媒体 Web API

    超媒体(通常称为应用程序状态的引擎 (HATEOAS))是具象状态传输 (REST) 的主要限制之一。有一种观念认为超媒体项目(如链接或表单)可用于说明客户端如何与一组 HTTP 服务交互。...链接是连接服务器和客户端的好方法,但是它存在一个明显的问题。...如果它使用 POST,应在请求主体中包含什么数据?尽管所有知识可能记录在某处,但是如果客户端可以实际发现该功能不更好吗?对于所有这些问题,使用 HTML 表单可以解决,它有很多意义。...HttpContent content, TransportContext transportContext); } 格式化程序在 ASP.NET Web API 中对于支持内容协商起着重要作用,因为框架现在可以根据在请求消息的...= new List { new Link { Rel = "add-cart", HRef = "/api/cart" }, new Link { Rel = "self", HRef

    2.8K50
    领券