我尝试自定义 Spring Data Rest JSON实体表示的" _links" 属性中链接的网址。
遵循" 16.5.3处的文档。自定义表示" (参见http://docs.spring.io/spring-data/rest/docs/current/reference/html/#_customizing_the_representation),
我应该使用我自己的 ConversionService
创建自定义 Converter
。但我怎么能这样做呢?
顺便说一句,我不明白我必须这样做的原因,因为Spring Data Rest使用构建URL的RepositoryEntityController
来调用" toResources&#34 ; 类AbstractRepositoryRestController
的方法,用于构建调用自己的" getDefaultSelfLink" 方法的URL。
为什么不以某种方式 @Override 这些方法中的一个(或两个)?
我的疑问是:转换器如何取代此实现的行为?它是因为在URL构造之后被调用了吗? 如果答案是肯定的,问题是转换器可以修改前一刻已经构建的URL,而我更愿意只使用我的自定义创建一次网址(而不是之后转换它。)
它有可能以任何方式吗? 如何自定义RepositoryEntityController行为?
感谢。
答案 0 :(得分:1)
根据here为您的实体类实施ResourceProcessor
。这将允许您将自定义链接添加到给定实体类的每个Resource<>
对象。如果您希望删除/修改Spring Data Rest生成的链接,则需要实现Converter,
,因为ResourceProcessor
在添加SDR链接之前执行。