JAX-RS регистрирует полезную нагрузку перед анализом Джексоном - PullRequest
0 голосов
/ 09 апреля 2019

Работает в приложении JAX-RS, где конечная точка consumes JSON. Использование Jackson для преобразования из JSON в POJO.

Вот образец:

@Path("/books")
public class BookService{

    @POST
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public Response addNewBook(Book newBook) {
        logger.info('Request for adding new book:'+newbook);

        boolean result = SomeDBservice.addBook(newBook);
        if(result){

            return Response.status(201).entity(result).build();
        } else {
            return Response.status(500).entity("Error while adding book try again later").build();
        }
    }
}

В приведенном выше коде я могу регистрировать только, если потребитель этой конечной точки отправляет правильный JSON, который преобразуется в Book pojo.

В моем случае я хочу также регистрировать неудавшиеся запросы, например: если потребитель отправляет неверные данные json в эту конечную точку.

Как и где мне это сделать?

Я пробовал с фильтрами, но как только вы получили javax.servlet.http.HttpServletRequest.getParameter(), его больше нет, похоже, его одноразовый получатель.

...