As far as I understand it, you're correct—an @UnwrapValidatedValue annotation is required anywhere you use a LongParam (or IntParam, UUIDParam, etc) along with a validation annotation.
This is rather unfortunate. The other typical use case for the @UnwrapValidatedValue annotation is within representation classes <http://www.dropwizard.io/1.0.0/docs/manual/core.html#man-core-representations>, in which case you can simply annotate the affected field once and forget about it in your resource classes. On Fri, Sep 9, 2016 at 8:55 AM, Chris Micali <[email protected]> wrote: > Hey Guys, > > I'm in process trying to upgrade a DW 0.8.x application to 1.0 and > I've run into something I am not sure I understand. We have a lot of > endpoints that include LongParams, for example: > > @GET > @UnitOfWork > public List<User> getAll(@NotNull @QueryParam("account_id") LongParam > accountId > > This no longer works, as we now get a: > > HV000186: The constraint of type 'javax.validation.constraints.NotNull' > defined on 'getAll.account_id' has multiple matching constraint > validators which is due to an additional value handler of type > 'io.dropwizard.jersey.validation.ParamValidatorUnwrapper'. It is unclear > which value needs validating. Clarify configuration via > @UnwrapValidatedValue. > > So, I understand this probably now needs @UnwrapValidatedValue after > reading http://www.dropwizard.io/1.0.0/docs/manual/ > validation.html#optional-t-constraints > > But: does this mean *everywhere* we want to make a long parameter > required we have to add that annotation? > > This is such a basic and common case, the following seems very verbose: > > @GET > @UnitOfWork > public List<User> getAll(@UnwrapValidatedValue @NotNull @QueryParam( > "account_id") LongParam accountId > > Am I missing something? > > Thanks, > Chris > > -- > 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]. > For more options, visit https://groups.google.com/d/optout. > -- Evan Meagher -- 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]. For more options, visit https://groups.google.com/d/optout.
