Spring 数据休息: how to customize the "_links" property representation?

标签 spring spring-mvc spring-data-rest spring-hateoas

我正在尝试自定义 Spring Data Rest JSON 实体表示的 "_links" 属性中链接的 URL。

按照文档中的“16.5.3.自定义表示”(请参阅 http://docs.spring.io/spring-data/rest/docs/current/reference/html/#_customizing_the_representation ), 我应该使用我自己的 Converter 创建一个自定义 ConversionService。但我到底该怎么做呢?

顺便说一句,我不明白为什么我必须这样做,因为 Spring Data Rest 使用 RepositoryEntityController 来构建调用“toResources”的 URLS> 类 AbstractRepositoryRestController 的方法,该方法调用其自己的 “getDefaultSelfLink” 方法构建 URL。

为什么不以某种方式@Override其中一个(或两个)方法?

我的疑问是:转换器如何替换此实现的行为?是因为在 URL 构造之后调用吗? 如果答案是肯定的,则问题在于转换器可以修改之前已构建的 URL,而我更愿意仅使用自定义创建一次 URL(而不是之后进行转换)。

有什么可能吗? 如何自定义 RepositoryEntityController 行为

谢谢。

最佳答案

实现ResourceProcessor对于您的实体类,按照here 。这将允许您将自定义链接添加到每个 Resource<>给定实体类的对象。如果您希望删除/修改 Spring Data Rest 生成的链接,您将需要实现 Converter,ResourceProcessor在添加 SDR 链路之前执行。

关于 Spring 数据休息: how to customize the "_links" property representation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38563620/

相关文章:

java - 在spring-batch中动态配置Job

java - 表示 Enum 的列使用哪种数据类型?

java - 未调用 Spring MVC Controller - 但编译过程似乎很好

java - Spring、JUnit、Hibernate 测试

java - 使用 Spring :eval inside hasRole

spring-data-rest - 在 SDN4 + REST 中添加与另一个节点的关系

Spring Data REST 返回 EmptyCollectionEmbeddedWrapper 而不是空集合

java - SpringDataREST 响应缺少分页信息

java - 使用spring的条件bean

css - 如何使用tiles3在Spring MVC 3中加载js和css文件