问题标签 [spring-hateoas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1914 浏览

spring - 所有 Spring-MVC 控制器的 ALPS 元数据

我对 spring hatoas/data rest 中的 ALPS 支持有疑问。似乎只有当您有一个弹簧数据休息存储库时才会公开 ALPS 元数据。所以我的问题是为什么只支持 spring data rest 存储库,我可以为所有 spring mvc 控制器启用它吗?是否有任何示例可以公开所有控制器的 ALPS 元数据?

可能我还没有理解ALPS的概念……

问候

梅莱格罗斯

http://spring.io/blog/2014/07/14/spring-data-rest-now-comes-with-alps-metadata

0 投票
6 回答
7730 浏览

java - 将 HTTP 方法添加到 Spring HATEOAS 链接

我想知道是否可以将 HTTP 方法添加到使用 Spring HATEOAS 创建的链接中。我希望链接看起来像:

我找不到任何可以让我在链接中添加“方法”的东西。

0 投票
1 回答
1260 浏览

spring - Resttemplate - 如何使用 HAL 表示发布对象?

当尝试通过 RestTemplate 发布到 Spring-Data-Rest Web 服务时,我的域对象的 JSON 表示正在转换为不在 HAL 表示中的完整 JSON 对象。我在这里的假设是我需要将 Jackson2HalModule 注册为反序列化器,但考虑到我将它注册到 objectMapper 时我不确定该怎么做。在 web 服务上调用 GET 时,序列化工作正常,但不适用于 POST/PUT:

请求 outputBuffer 字段:

休息模板配置:

请求标头:

调用方法:

0 投票
2 回答
2906 浏览

spring - Spring HATEOAS / MockMvc / JsonPath 最佳实践

我正在使用 MockMvc 和 JsonPath 为 Spring HATEOAS 后端编写单元测试。为了测试响应中包含的链接,我正在做类似的事情:

但是,我想知道是否应该使用一些最佳实践来使自己更容易,例如:

  • 测试链接包含http://localhost感觉不对。我可以使用一些 Spring MovkMvc 助手来确定主机吗?
  • 使用 JsonPath 很难测试一个数组是否包含一个元素,其中 2 个属性具有一定的值。像这样,数组应该包含一个具有特定值的自链接。有没有更好的方法来测试上面的内容这也将在测试带有错误消息的字段的验证错误时发挥作用。

我在一些博客文章中看到了如下技术:

但这根本不能保证该标题具有特定的错误消息。也可能是标题错误地设置了“描述的最大长度为 500 个字符”。但测试会成功。

0 投票
1 回答
281 浏览

rest - 将 Spring ResourceSupport-ed 父资源验证为子资源中的非空属性

我正在寻找在子管理模块资源(扩展 Spring ResourceSupport 类的 AdminModuleResource)中验证父管理资源(扩展 Spring ResourceSupport 类的 AdminResource)不为空(@NotEmpty)的指南。

我了解 AdminResource 类也应该实现 Serializable 接口?这是使用 Spring ResourceSupport-ed 资源的方式吗?

这是我的资源:

截至目前,@NotEmpty 验证器注释给了我错误:No validator could be found for type...

但是将“实现可序列化”添加到资源中并没有帮助,并且在使用 @NotEmpty 验证器注释时仍然存在异常。

当然,注释掉 @NotEmpty 验证器注解会使 Maven 构建成功。

感谢任何方向提示!

亲切的问候,

斯蒂芬妮

0 投票
2 回答
4196 浏览

spring-hateoas - 使用 PagedResourcesAssembler 生成带有附加查询参数的链接

我在我的 REST 控制器中使用 spring-data-common 的 PagedResourcesAssembler,我很高兴看到它甚至在响应中生成下一个/上一个链接。但是,在我有其他查询参数(除了页面、大小、排序之外)的情况下,这些不包含在生成的链接中。我可以以某种方式配置汇编程序以在链接中包含参数吗?

非常感谢,丹尼尔

0 投票
3 回答
4805 浏览

spring - 消耗 HATEOAS 资源

我有一个使用Spring构建的简单HATEOAS提供程序,它为我提供了以下资源:

在一个单独的 Spring 客户端中,我尝试使用此资源但无济于事:

Jackson 2.0 继续抱怨:

对于 calrity,这是我的资源对象: https ://gist.github.com/Xerosigma/02041fdc0849a651dcbf

我错过了什么?

0 投票
2 回答
10913 浏览

spring - 如何使用 Spring HATEOAS 更改 HAL 链接格式

我正在使用 Spring HATEOAS (0.16.0.RELEASE) 构建一个 Spring REST 应用程序,我希望 JSON 链接输出看起来像:

虽然它呈现如下:

我正在使用 HATEOASResourceResourceAssembler.

为什么我得到这种格式而不是另一种?我怎样才能改变它?

0 投票
1 回答
172 浏览

java - 在 ResourceSupport 中设置实体中不存在的表单字段的正确位置

我在我的 REST API 中有一个用于登录用户的模型,对应于用户表(电子邮件和密码作为表列)

然后是@Controller,它正在使用 JPAService 调用上述用户实体

AuthLoginFormResource:-

AuthLoginFormResourceAsm:-

有2个问题-

  • 我需要发送一个成功标志作为布尔值作为响应,为此我已将布尔值成功添加到 AuthLoginFormResource。但是,AuthLoginFormResource 仅从 AuthLoginFormResourceAsm.toResource 方法中设置,而后者又从实体用户中进行设置。由于没有成功列的用户实体模型数据库,我无法在这个地方设置成功。

    那么,我应该向用户实体添加虚拟成功字段并从服务方法中设置它,尽管数据库中没有这样的字段还是在这里创建一个代表登录表单的新实体并返回它?

  • 另一个字段存在同样的问题,该字段是用于身份验证的令牌,该令牌在数据库中不存在,但属于响应的一部分。

在 ResourceSupport 对象中设置此类字段的正确位置是什么 - 在数据库实体内部并从服务返回/在域模型之上创建另一个表单模型实体并从服务返回。

这是我在许多数据模型和表单不一对一匹配的地方面临的基本问题。

0 投票
2 回答
9829 浏览

spring - 带有 RepositoryRestResource-s 和常规控制器的 Spring REST HATEOAS 中的根请求的自定义响应

假设我有两个存储库:

使用一个常规控制器:

现在,响应http://localhost:8080/是:

但我想得到这样的东西: