如何在Magnolia CMS(v 5.5.6)中为jax-rs端点提供自定义异常映射?

问题描述 投票:0回答:1

我创建了基于定制jax-rs的端点。

@Path("/test")
public class MyEndpoint<D extends EndpointDefinition>  extends AbstractEndpoint<D> {

    @Path("/dosth")
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public void doSth() {
        //some code here
    }
}

现在,我想为jax-rs端点添加自定义异常处理。我希望所有异常处理都放在一个地方,而不是每种方法都尝试捕获。试图添加jax-rs ExceptionMapper:

@Provider
public class CustomExceptionMapper implements ExceptionMapper<Throwable> {

   public Response toResponse(Throwable e) {
      return Response.status(Response.Status.SERVICE_UNAVAILABLE).build();
   }
}

不幸的是木兰没有使用它。如何在Magnolia 5.5.6中注册此类映射器?

java jax-rs magnolia
1个回答
0
投票

自定义异常映射器应在rest-integration JCR配置中注册。负责jax-rs提供者的节点是

config.modules.rest-integration.config.additionalProviders

我已通过我的自定义实现覆盖了默认异常映射器,现在它可以工作。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.