在我的quarkus rest项目中,我有一个使用mutiny的restclient:
@Path("/")
@RegisterRestClient(configKey = "my-api")
@RegisterClientHeaders
@RegisterProvider(MyExceptionMapper.class)
public interface MyClient {
@POST
@Path("path")
Uni<MyBean> get(String body);
}
我想处理Property non 2XX httpError,所以我制作了我的例外文件
public class MyExceptionMapper implements ResponseExceptionMapper<MyException> {
@Override
public MyException toThrowable(Response response) {
//TODO
return new MyException();
}
}
客户端上的错误调用显示MyExceptionMapper处理响应,但异常会引发,并且不会成为我的Uni客户端响应对象上的失败
Uni<MyBean> bean = myClient.get("") // i do not have a failure in case of 4XX http
.onFailure().invoke(fail -> System.out.println("how can i get here?"));
我是否以错误的方式对rest客户使用叛变?
谢谢
更新
好吧,我忘了添加依赖quarkus rest客户端兵变,添加这个我注意到两件事,
>
我还是会通过我的例外映射器
我还制作了一个Uni。失败,但失败中的异常不是我在MyExceptionmapper中创建的自定义异常,而是RestEasyWebApplicationException
失败:org.jboss.resteasy.client.exception.RestasyWebApplication异常:未知错误,状态代码400在org.jboss.resteasy.client.exception.WebApplication异常Wrapper.wrap(WebApplication异常Wrapper.java:107)org.jboss.resteasy.microprofile.client.Default响应异常Mapper.toThrowable(Default响应异常Mapper.java:21)
在这种情况下,ExceptionMapper是否变得无用?
我认为这是quarkus rest客户端兵变中的一个bug。我根据您的发现创建了一个Github问题。
如果你切换到Quarkus-Rest-客户端-反应
,它会像你期望的那样工作
我在服务器上使用GraphQL和mongoose。 当发生验证错误时,GraphQL突变发送状态代码为200的响应。在客户端,响应如下所示: 我想使用阿波罗客户端突变promise的功能访问验证错误。类似: 如何做到这一点?
我有一个ASP.NET Core1.0Web API应用程序,并试图弄清楚如果我的控制器调用的函数出错,如何将异常消息传递给客户端。 我确实看到了一些使用的文档,但是为了使用它,我必须安装compat shim。在Core1.0中有没有一种新的方法来做这些事情? 这是我一直在尝试的垫片,但它不起作用: 当抛出时,我查看客户端,在内容中找不到我正在发送的消息。
我已经在Raspberry Pi上安装了MQTT,并为代理配置了Arduino Uno,但在/var/log/mosquitto/mosquitto.log文件中看到了以下条目: Pi是用有线到本地LAN的ETH0设置的,IP地址为192.168.1.50 在PI上还有一个WiFi AP设置。Arduino Uno通过WiFi连接以发送/接收MQTT消息。WiFi AP的IP地址为192.168.
我们试图对cadence设置进行基准测试(目前在2个EC2实例上运行:m5a.xlarge ),发现了许多cadence客户端错误: cadence_service:cadence_matching,操作:历史记录重新记录活动任务已启动
请帮助我理解grpc客户端连接错误处理。 我以前用过Micrsoft WCF。如果没有接受以下传入连接的服务,很容易尝试多次连接并放弃: 如果某些IP: port上没有服务侦听,则进行5次连接尝试,然后终止客户端应用程序 这是在客户端和服务同时从VisualStudio调试启动时使用的,所以有时客户端首先启动,它必须等待服务启动。 我曾尝试使用gRPC客户端执行相同的操作,但没有重置from恢复工
我正在尝试使用第三方组织提供的web服务。 服务的URL如下 有几个帖子带有相同的错误消息。我在这里阅读了这篇文章,并通过向客户端添加这些设置来尝试它: 之后,服务器根本没有响应! 所以,我有点被困在这里了。有人能把我推到正确的方向吗?