How can I get the stack trace when 500 server error happens in Jersey?

后端 未结 1 511
青春惊慌失措
青春惊慌失措 2020-12-12 01:23

When in jersey server I have server 500 error:

  • In server response don´t have stack trace or some info.

  • In Eclipse console don´t have excepti

相关标签:
1条回答
  • 2020-12-12 02:02

    Most of the time, a generic ExceptionMapper will do the trick.

    @Provider
    public class DebugMapper implements ExceptionMapper<Throwable> {
        @Override
        public Response toResponse(Throwable t) {
            t.printStackTrace();
            return Response.serverError()
                .entity(t.getMessage())
                .build();
        }
    }
    

    Then just register it

    ResourceConfig config = new ResourceConfig()
            .register(DebugMapper.class);
    

    Sometime the exception will get swallowed by Jersey when the exception is not mapped, and you will not see what happened. This usually works, when the problem is at the Jersey level.

    See also:

    • WebApplicationException and Mapping Exceptions to Responses
    0 讨论(0)
提交回复
热议问题