问题标签 [exceptionmapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JAXRS/Jersey 2 - 验证错误不会调用 ExceptionMapper
使用最新的 Jersey (2.22.1),我已经成功地为各种需求创建了我的自定义验证器。但是当发生 ConstraintViolationException 时,不会调用我的自定义ExceptionMapper
(在 web.xml 中注册为 a ),尽管它被定义为.provider
ExceptionMapper<Throwable>
web.xml
默认异常映射器
使用我的调试器,我可以在类 org.glassfish.jersey.server.ServerRuntime 的第 596 行中看到,解析的映射器不是我的,而是一个org.glassfish.jersey.server.validation.internal.ValidationExceptionMapper
.
我如何告诉 JerseyDefaultExceptionMapper
在 a 的情况下使用 my ConstraintViolationException
?
PS:我已经尝试过这里建议的选项:如果收到无效的 JSon而没有运气,则不会调用 ExceptionMapper。
json - 泽西岛无法捕捉到任何杰克逊异常
对于我的 REST api,我使用 jersey 和 ExceptionMapper 来捕获全局异常。它适用于我的应用程序抛出的所有异常,但我无法捕获杰克逊抛出的异常。
例如,我的一个端点接受一个包含枚举的对象。如果请求中的 Json 具有不在枚举球衣中的值,则抛出此异常
即使我创建了这个映射器
代码永远不会到达这个映射器。
为了捕获这些异常,我们需要做些什么吗?
编辑 注意:我只是尝试不那么通用,而不是 JsonMappingException 我使用 InvalidFormatException 在这种情况下调用映射器。但我仍然不明白,因为 InvalidFormatException 扩展了 JsonMappingException 并且也应该被调用
spring - Spring JsonExceptionMapper ExceptionMapper 处理。
启动服务器时,我的 weblogic 控制台出现以下错误。
严重:在参数索引 0 处缺少构造函数公共 com.test.mine.exception.JsonExceptionMapper(java.lang.String,com.fasterxml.jackson.core.JsonLocation) 的依赖项 严重:缺少构造函数公共 com.test.mine 的依赖项。参数索引 1 处的 exception.JsonExceptionMapper(java.lang.String,com.fasterxml.jackson.core.JsonLocation)
下面是我的java代码。
junit - 泽西岛测试 - 不调用 ExceptionMapper
我有 REST Web 服务,我使用 Jersey Test、Mockito、Junit 进行测试。当 Web 服务方法成功执行时,我得到正确的响应。如果数据无效,则会引发自定义异常,该异常必须由 ExceptionMapper 处理。它应该返回相同的结构响应但具有不同的代码。ExceptionMapper 在非测试环境中运行良好。但是,在测试执行日志显示后:
我用:
由测试类扩展的模拟服务的缩短版本:
如何从 ExceptionMapper 获得响应?
jersey - 泽西 SQLException 映射器未调用
这是我的 SqlExceptionMapper
在这里,我在函数的 catch 块中抛出异常
这是我的 web.xml
我已经调试了我的代码并且我的 catch 块正在抛出 SQLException,唯一的问题是它没有映射到我创建的映射器。
java - Jersey 错误地调用子资源
我正在使用 JAX-RS 学习 RESTful Web 服务。我有一个MessageResource
和一个子资源CommentResource
。
在我的MessageResource
我用测试方法映射了评论子资源,我在MessageResource
课堂上发表了评论,因为我不想CommentResource
被调用。
我有CommentResource
以下子资源:
我创建了一个通用异常映射器,它映射到Throwable
类。它是为此目的而创建的,如果服务器端发生任何异常,而不是显示 Tomcat 错误报告页面,应该发送有意义的消息。
此外,当我通过调用 url 来测试我的通用异常映射器时
它没有映射到MessageResource
. 它正在调用CommentResource
以下方法:
如果我评论上述方法,我会在 Postman 中得到适当的回应。
任何人都可以解释这种行为。提前致谢。
exception-handling - JAX-RS 异常映射器在 Grizzly 容器中不起作用
与团队一起开发 Jersey Web 应用程序,随着项目变得越来越大,我们决定从 Tomcat 切换到 Grizzly,以允许在不同的端口号上部署项目的一部分。我现在发现,我们的自定义异常处理现在无法正常工作,相反,我总是得到灰熊的 html 页面。
示例异常:
映射器:
我不确定问题来源在哪里,如果需要,我可以提供更多信息/代码。有什么问题,我可以尝试什么?
编辑:
主类:
EDIT2:
基于这个问题,我尝试使用这个ServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERROR, "true"
属性,它只提供了一点帮助。发生异常时,我仍然会看到 html grizzly 页面,但现在我在页面正文中看到了我的异常(+堆栈跟踪)。
java - 您可以将 Jersey 自定义 ExceptionMappers 从 .jar 战争文件导入 .war 文件吗?
运行 JUnit 测试时,我不断收到此错误。它仅在我尝试将 Jersey 自定义 ExceptionMappers 从 .jar 文件导入到我的 .war 文件时发生。
我知道映射器在 .war 文件中时可以正常工作,但我有两个单独的模块需要它们,并且不希望复制映射器以在每个模块中都有一个。
有谁知道如何从 .jar 文件中导入 ExceptionMapper?
java - Jersey 测试 - ExceptionMapper - HTTP 状态不是 200 时的 UniformInterfaceException
我必须使用 jersey-test-framework-grizzly2 测试 Jersey 1.19。有注册 REST 端点和异常映射器类的配置类:
当我执行/测试返回 HTTP 状态 200 的 REST 端点时,它运行良好。
如果抛出异常,异常映射器会很好地处理它并形成返回对象 javax.ws.rs.core.Response 并带有错误代码:
但是,我得到
当我尝试在我的 JUnit 测试中断言 Response 时。如何获得格式良好的响应而不是 UniformInterfaceException?
jax-rs - 异常映射器不适用于 Wildfly RestEasy
我有网络资源
我的应用配置类
例外
异常映射器
在我的示例中,异常映射器不起作用。我试图通过java(将异常映射器类添加到应用程序配置中的hashmap)或web.xml(包括它在上下文参数中)来配置它。我的 wildfly 代码在 Java 8 类结束工作:ThreadPoolExecutor.class。我认为wildfly在我对资源url的示例请求中结束了它的所有任务。我在抛出异常之前编码工作正常,但在它没有对我的测试请求返回任何响应之后。
有人帮忙吗?