getter 方法的 Wildfly 15.0.1 JAX-RS @BeanParam NPE

Wildfly 15.0.1 JAX-RS @BeanParam NPE for getter methods

我正在 Wildfly 15.0.1 中测试 JAX-RS annoration @BeanParam,但在尝试通过 getter 方法访问字段值时出现 NPE。

如果我改用@FormParam,一切正常。在 Eclipse 调试器中,如果我直接访问该字段(不是通过 getter 方法),该值就在那里。但是,如果我尝试通过其 getter 方法访问字段值,它 returns 为 null,因此 NPE。下面是 Eclipse 调试器的屏幕截图,显示该字段具有值,但 getter 方法返回 null。

我正在尝试做的代码片段:

@RequestScoped  
public class TestFilter {  
    @FormParam("date_fr")  
    private String dateFr;  
    ...  
}  

@ApplicationScoped  
@Path("/test")  
public class TestRes {  
    @POST  
    @Path("/search")  
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)  
    public Response search(@BeanParam TestFilter filter) throws IOException {  
        if (filter.getDateFr().length() > 0) { // NPE here: filter.getDateFr() is null  

        }  
    }  
}  

有人知道这里的@BeanParam 是怎么回事吗?我做错了什么吗?

罪魁祸首是 @RequestScoped 注释。没有它,它会按预期工作。

有人报告了一个针对此的 Jira 错误:https://issues.jboss.org/browse/WFLY-11680