如何在 Magnolia CMS (v 5.5.6) 中为 jax-rs 端点提供自定义异常映射?
How to provide custom exception mappings for jax-rs endpoints in Magnolia CMS (v 5.5.6)?
我创建了基于自定义 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 没有使用它。我如何在 Magnolia 5.5.6 中注册这样的映射器?
自定义异常映射器应在 rest-integration
JCR 配置中注册。负责jax-rs提供者的节点是
config.modules.rest-integration.config.additionalProviders
我已经用我的自定义实现覆盖了默认的异常映射器,现在它可以工作了。
我创建了基于自定义 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 没有使用它。我如何在 Magnolia 5.5.6 中注册这样的映射器?
自定义异常映射器应在 rest-integration
JCR 配置中注册。负责jax-rs提供者的节点是
config.modules.rest-integration.config.additionalProviders
我已经用我的自定义实现覆盖了默认的异常映射器,现在它可以工作了。