@ProjectedPayload / ProjectingJackson2HttpMessageConverter 默认值

Default values with @ProjectedPayload / ProjectingJackson2HttpMessageConverter

我在接口上使用 @ProjectedPayload 将 JSON 请求主体绑定到我接口的代理实例。 我的界面如下(在 Kotlin 中,val 只是转换为 Java getter):

@ProjectedPayload
interface ImportServer {

    val id: UUID?
    val name: String?

}

现在,这里的 id 是完全可选的,但我无法指定它,至少据我所知是这样。如果我尝试访问 id 属性 但它不存在于请求正文中,我将收到来自 JsonPath 的异常:com.jayway.jsonpath.PathNotFoundException: No results for path: $['id']。如果我可以配置 JsonPath,我可以使用 Option.DEFAULT_PATH_LEAF_TO_NULL 并且对于不存在的元素我会得到 null。但是我无法获得 JsonPath 配置,它恰好被锁定在 JsonProjectingMethodInterceptorFactory.

有没有办法让我在这里指定一个默认值?或者有没有办法让我检测 id 是否存在,而无需首先访问 id 属性?

这是一个错误,已通过 DATACMNS-1145 修复。将与 Ingalls SR7 一起发布,并与 Boot 1.5.7 一起发布。