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

时间:2019-01-31 23:27:47

标签: java jax-rs wildfly resteasy

我正在Wildfly 15.0.1中测试JAX-RS声明@BeanParam,但是在尝试通过getter方法访问字段值时却获得了NPE。

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

enter image description here

enter image description here

我要执行的操作的代码段:

@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是怎么回事吗?我在做错什么吗?

1 个答案:

答案 0 :(得分:0)

罪魁祸首是reduction_packet_type注释。没有它,它将按预期工作。

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