我的服务接受Json并为我使用它,并将其映射到我的DTO。
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("/service")
@Produces(MediaType.APPLICATION_JSON)
public Response myService(Request requestBody) {
//Stuff
}
但是,如果该特定元素为null,则DTO中的某些字段将抛出JsonMapperException异常。
由于这是在我真正进入服务之前发生的,因此如何才能正常处理此异常并返回带有自定义错误代码和消息的Json?
此外,如何将元素标记为“可选”,以便映射器在元素为null或丢失时将忽略它,而在元素为非空时将其序列化?
要回答我自己的问题。
之所以抛出异常,是因为我试图在DTO中进行逻辑处理。如果传入的元素为NULL,则该逻辑将失败。解决这个问题没有简单的方法。
但是,最佳实践要求在DTO中尽可能少地执行逻辑。因此,我只是将逻辑移到了服务的主要方法上,并在那里进行了计算。
问题解决了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句