if (exception instanceof JsonGenerationException || exception instanceof InvalidDefinitionException) {
return super.toResponse(exception); // LoggingExceptionMapper will log exception
}
public class ImmutablesJsonProcessingExceptionMapper extends JsonProcessingExceptionMapper {
@Override
public Response toResponse(JsonProcessingException exception) {
if (exception instanceof InvalidDefinitionException) {
exception = new JsonParseException((JsonParser) null, null, exception);
}
return super.toResponse(exception);
}
}
--
You received this message because you are subscribed to the Google Groups "dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dropwizard-user/2b89feea-abb3-44e8-a5ff-8b620a78cfdf%40googlegroups.com.
Did you try using the validation annotations?I think that adding Validators will make illegal input to return bad request.
בתאריך יום ב׳, 18 במאי 2020 ב-18:35 מאת Robert Di Falco <rob...@bright.md>:
My server responds with status 500 instead of 400 when invalid JSON is sent to me dropwizard service. We tracked it down to Immutables throwing an IllegalStateException which Jackson then wraps as an InvalidDefinitionException which of course ends up triggering this line in the Dropwizard JsonProcessingExceptionMapper.--if (exception instanceof JsonGenerationException || exception instanceof InvalidDefinitionException) {
return super.toResponse(exception); // LoggingExceptionMapper will log exception
}Is there a simple way around this? A configuration or some such so that I properly return the status of 400? The only thing we can come up with is writing our own Exception Mapper and not using the drop wizard supplied one. But it seems heavy handed.public class ImmutablesJsonProcessingExceptionMapper extends JsonProcessingExceptionMapper {
@Override
public Response toResponse(JsonProcessingException exception) {
if (exception instanceof InvalidDefinitionException) {
exception = new JsonParseException((JsonParser) null, null, exception);
}
return super.toResponse(exception);
}
}Thanks for any input.R.
You received this message because you are subscribed to the Google Groups "dropwizard-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dropwiz...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dropwizard-user/2b89feea-abb3-44e8-a5ff-8b620a78cfdf%40googlegroups.com.

To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dropwizard-user/5ba1b61e-0212-49f1-882c-b46c1284fb8c%40googlegroups.com.