Я тестирую аннотацию JAX-RS @BeanParam в Wildfly 15.0.1, но получаю NPE при попытке получить доступ к значениям поля с помощью методов получения.
Если я использую вместо этого @FormParam, все работает нормально.В отладчике Eclipse, если я получаю доступ к полю напрямую (не через метод getter), значение там.Однако, если я пытаюсь получить доступ к значению поля через его метод getter, он возвращает ноль и, следовательно, NPE.Ниже приведены снимки экрана отладчика Eclipse, показывающие, что поле имеет значение, но метод получения возвращает нуль.
Фрагменты кода того, что я пытаюсь сделать:
@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?Я что-то не так делаю?