Работает в приложении 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()
, его больше нет, похоже, его одноразовый получатель.