Now I understand that you meant that the JSON is not unexpected (missing properties and things like it) but actually an invalid JSON (not in a valid JSON form). In this case validators won't work, I fear.
If it's about values in the request that you want to validate their values - you can validate using validators from the javax.validation [image: image.png] Or using a custom validator בתאריך יום ב׳, 18 במאי 2020 ב-21:52 מאת Robert Di Falco <[email protected]>: > Can you be more specific? > > On Monday, May 18, 2020 at 8:44:35 AM UTC-7, עוזיאל סולקיס wrote: >> >> 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 >> <[email protected]>: >> >>> 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 [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/dropwizard-user/2b89feea-abb3-44e8-a5ff-8b620a78cfdf%40googlegroups.com >>> <https://groups.google.com/d/msgid/dropwizard-user/2b89feea-abb3-44e8-a5ff-8b620a78cfdf%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> Look for me on Facebook <https://www.facebook.com/usulkies>, Twitter >> <https://twitter.com/usulkies>or LinkedIn >> <http://www.linkedin.com/in/uziel-sulkies-41338a2b>. >> >> -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/dropwizard-user/5ba1b61e-0212-49f1-882c-b46c1284fb8c%40googlegroups.com > <https://groups.google.com/d/msgid/dropwizard-user/5ba1b61e-0212-49f1-882c-b46c1284fb8c%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- Look for me on Facebook <https://www.facebook.com/usulkies>, Twitter <https://twitter.com/usulkies>or LinkedIn <http://www.linkedin.com/in/uziel-sulkies-41338a2b>. -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/dropwizard-user/CAM4HiRbPTxVu9_%3DvtLpwefWkm0-4c8bBua2hQTLwPBT_yKkHHQ%40mail.gmail.com.
