我有一个 SQL 数据库,其中主键是 UUID,但 UUID 的规范字符串表示很长,我想在我的 URL 中使用缩短版本(Base58)。Spring DataDomainClassConverter
会将 MVC 请求参数或路径变量转换为域对象,但我希望能够在解析的 ID 传递到存储库之前对其进行修改。
默认情况下使用上下文提供的 aSpringDataWebConfiguration
创建一个,这可能是不安全的任意破坏。向方法参数添加注释可能会消除解释的歧义,但这都必须在整个地方复制,并且不能与 Spring Data REST 等外部控制器一起使用。将 (->ID) 转换委托给转换服务的行为在私有内部类中是硬连线的,所以我不能在那里修改它。DomainClassConverter
FormattingConversionService
String parameter
是否有任何非侵入性的方法来拦截参数并在将其传递给之前对其进行转换RepositoryInvoker
?