jjzjj

ExceptionMapper

全部标签

xml - 在 RestEasy 中从 ExceptionMapper 返回 JSON 的简单方法?

情况是这样的:我让RESTEasy和Jackson完美地协同工作我的RESTful类实现了ExceptionMapper并在它们上面有一个toResponse方法。如果我在任何RESTful方法中遇到问题,就会抛出异常并由toResponse方法捕获。我希望将异常转换为格式良好的XML或JSON(取决于Acceptheader)问题是我不知道toResponse方法中的Acceptheader是什么。我知道我可以扩展Exception类并将header作为变量传递,然后我可以在toResponse中使用它,但我希望有更“正确”的方法来做到这一点。我尝试将@Produces注释添加到to

java - 不同异常的相同 ExceptionMapper

我的应用程序提供了一个RESTful接口(interface)来执行某些操作。我正在使用ExceptionMapper捕获NoResultException或EntityNotFoundException等异常,然后返回404状态代码或NumberFormatException或ConstraintViolationException并返回状态代码400...等等。我的问题是ExceptionMapper每次只允许我选择一种异常;所以我不能对所有错误400和其他形式的所有错误404使用相同的类。有什么方法可以创建映射两种不同类型异常的ExceptionMapper吗?我的另一个选择是更

java - 当 ExceptionMapper 创建响应时,未遍历 RestEasy 后处理拦截器链

我正在使用RestEasy构建我的RestfulWeb服务。我已经实现了ExceptionMappers来准备特定的异常响应。我还实现了MessageBodyWriterInterceptors和几个PostProcessorInterceptors。问题:当任何资源不抛出任何异常时,一切正常。我的实现按预期工作。调用所有后处理器拦截器和消息正文编写器拦截器。但是,当任何资源方法抛出异常时,将调用已注册的ExceptionMappers并创建响应。但在这种情况下,不会遍历后处理器拦截器链。他们没有接到电话。遇到这种情况我该怎么办。在我的异常映射器中编写该拦截器逻辑或者是否有可用的解决方

java - 用于 TomEE 7 上的 bean 验证的自定义异常映射?

上下文我们使用javax.ws.rs.ext.ExceptionMapper注释为@javax.ws.rs.ext.Provider处理所有异常。在内部这个ExceptionMapper区分不同类型的异常以确定向客户端显示哪些信息。在javax.validation.ConstraintViolationException的情况下,我们返回有关哪个字段无效及其原因的附加信息。问题我们刚从TomEE1.7.2JAX-RS切换过来至TomEE7.0.0-SNAPSHOTwebprofile.与TomEE1.7.2JAX-RS我们使用了openejb.jaxrs.providers.auto

java - Jersey 和 Spring 中的全局异常处理?

我正在使用Jersey&Spring3.2以及OpenCMIS开发RESTfulweb服务。我没有使用Spring的MVC模式,它只是SpringIOC和JerseySpringServlet,Controller类类似于下面的代码@GET@Path("/{objId:.+}")@Produces(MediaType.APPLICATION_JSON)@Consumes(MediaType.APPLICATION_JSON)publicstatusMsgaddObject(@PathParam("objId")StringobjId{returnrepoService.addObjec

java - 如何将 Jersey ExceptionMapper 与 Google Guice 一起使用?

我正在使用JerseyGuice并且需要配置自定义ExceptionMapper我的模块是这样的:publicfinalclassMyJerseyModuleextendsJerseyServletModule{@OverrideprotectedvoidconfigureServlets(){...filter("/*").through(GuiceContainer.class);...}}这是我的ExceptionMapper:importjavax.ws.rs.core.Response;importjavax.ws.rs.core.Response.Status;import

java - 与实体一起抛出的 WebApplicationExceptions 的 ExceptionMapper?

在我们的(遗留)代码库中,我们以不同的方式抛出WebApplicationExceptions。为了对我们处理异常的方式进行排序-我想为这些WAE(和其他)创建一个ExceptionMapper。然而,我意识到Jersey的ExceptionMapper只映射未随实体一起抛出的WAE。例如:thrownewWebApplicationException(Response.status(500).build());此异常由ExceptionMapper捕获。thrownewWebApplicationException(Response.status(500).entity(WsReso

java - 使用 Jersey 的 ExceptionMapper 忽略 web.xml 错误页面

@ProviderpublicclassJerseyExceptionMapperimplementsExceptionMapper{@OverridepublicResponsetoResponse(JerseyExceptionjerseyException){returnResponse.status(jerseyException.getErrorCode()).entity(jerseyException.getJsonResponseObj()).type(MediaType.APPLICATION_JSON).build();}}当您使用时,上面的代码会产生不需要的结果w

java - ExceptionMapper 的 Jersey/Jackson 异常问题

我正在使用Jersey向外界提供JavaREST服务。我提供了一些采用JSON的函数,我将Jackson框架与jersey结合使用,将它们转换为POJO。我有一个问题,如果错误的jackson格式被发送到服务器,答案(http响应的内容)是一个jackson特定的异常描述。如果我有一个带有属性“surname”的POJO并将json字符串中的“sursname”发送到服务器,我得到:Unrecognizedfield"sursname"(ClassXY),notmarkedasignorableat[Source:sun.net.httpserver.FixedLengthInputS

java - 在异常映射器中检索请求正文

我正在尝试在JAX-RSExceptionMapper中检索请求的主体。到目前为止,这是我的代码:@Provider@ComponenetpublicclassBaseExceptionMapperimplementsExceptionMapper{@ContextprivateHttpServletRequestrequest;@OverridepublicResponsetoResponse(Exceptionex){//TryingtoretrieverequestbodyforloggingthrowsanerrorStringrequestBody=IOUtils.toStr
12