Jersey Exception mappers not working when jackson deserialization fails

后端 未结 5 2012
借酒劲吻你
借酒劲吻你 2020-12-29 06:57

I am using Jersey 2.10 with Jackson serialization/deserialization feature in my REST API.

My idea is to make my REST API to always return a standard JSON error resp

5条回答
  •  既然无缘
    2020-12-29 07:29

    I used "jackson-jaxrs-json-provider 2.8.8" and JAX-RS 2.0

    Application class - you needs to register your ExceptionMapper implementation class:

    @ApplicationPath("pathApplication")
    public class ApplicationConfiguration extends Application{
    
    
       @Override
       public Set> getClasses() {
    
          Set> resources = new HashSet<>();
          resources.add(YourJAXRSClass.class);
          resources.add(JsonJacksonEM.class); //ExceptionMapper class implementation
          //others resources that you need...
          return resources; 
    
       }
    
    
    }
    

    ExceptionMapper class implementation:

    @Provider
    public class JsonJacksonEM implements ExceptionMapper{
    
    
       @Override
       public Response toResponse(JsonParseException exception) {
          //you can return a Response in the way that you want!
          return Response.ok(new YourObject()).build();
       }
    
    
    }
    

提交回复
热议问题