Wildfly 15.0.1 JAX-RS @BeanParam NPE для методов получения - PullRequest
0 голосов
/ 01 февраля 2019

Я тестирую аннотацию JAX-RS @BeanParam в Wildfly 15.0.1, но получаю NPE при попытке получить доступ к значениям поля с помощью методов получения.

Если я использую вместо этого @FormParam, все работает нормально.В отладчике Eclipse, если я получаю доступ к полю напрямую (не через метод getter), значение там.Однако, если я пытаюсь получить доступ к значению поля через его метод getter, он возвращает ноль и, следовательно, NPE.Ниже приведены снимки экрана отладчика Eclipse, показывающие, что поле имеет значение, но метод получения возвращает нуль.

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 голосов
/ 08 февраля 2019

Виновником является аннотация @RequestScoped.Без этого все работает как положено.

Кто-то сообщил об ошибке Jira по этому поводу: https://issues.jboss.org/browse/WFLY-11680

...