我在拦截器中添加了一个授权模块,并尝试使用异常映射器来抛出401状态代码,但即使它正在扫描我的异常映射器,它也没有在运行时使用它。
@Component
public class ExceptionMapper implements javax.ws.rs.ext.ExceptionMapper<Exception> {
public ExceptionMapper() {
System.out.println("true Manish= " + true);
}
@Override
public Response toResponse(Exception exception) {
System.out.println("product Manish Exception comning here");
return Response.status(Response.Status.EXPECTATION_FAILED).
entity(exception.getMessage()).
type("text/plain").
build();
}
}
所以,它打印真正的Manish = true,但是当我的拦截器抛出一个异常时,它并没有触及toResponse()方法
答案 0 :(得分:0)
目前MSF4J无法映射从拦截器级别抛出的异常。它只能映射在实际服务中抛出的异常。我们希望将其增强为拥有全局异常映射器。为此创建了https://github.com/wso2/msf4j/issues/327。