我正在尝试自定义 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/