在 Dropwizard 中,我对资源方法使用 @Valid 注释:
public class Address {
@NotNull
String street
...
}
@Path("/address")
@Produces(MediaType.APPLICATION_JSON)
public class AddressResource {
@POST
public MyResponse addAddress(@Valid Address address) {
if (address == null) {
throw new WebApplicationException("address was null");
}
...
}
}
在应用程序启动时,我注册了一个WebApplicationExceptionMapper
处理WebApplicationExceptions
. 因此,对于值为 null 的地址,会在映射器中抛出异常并进行处理,从而生成有用的响应。但是,如果地址不为空但street
为空,Dropwizard 会自动生成响应并将其发送给客户端(我不喜欢)。
我如何干扰这个响应,以便最终它也由映射器处理?