问题标签 [quarkus-rest-client]

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.

0 投票
1 回答
549 浏览

java - 如何将文件从 Quarkus 发送到 Spring Boot 应用程序?

我正在编写一个用于与主 Spring Boot 应用程序通信的 Quarkus 微服务。

为了调用 Spring Boot 应用程序,我基于这个Quarkus 教程编写了一个 REST 客户端,它在某些端点上运行良好。当我尝试将文件从 Quarkus 上传到 Spring boot 时,就会出现问题,我无法让它正常工作。我按照this other tutorial处理多部分请求。

这是我的 Quarkus 应用程序上的多部分对象:

这是 Quarkus 中 REST 客户端上的端点:

下面是我构建 MultipartBody 对象的方法:

Spring Boot 应用程序中的端点:

它抛出一个错误,说inputFile没有提供:

如果我更改@RequestParamfor @RequestBody,则inputFile参数始终为null。我错过了什么?

0 投票
0 回答
261 浏览

java - Quarkus PUT body 参数:反序列化超类型对象内的子类型时出错

在 Quarkus 中,我公开了一个 PUT 方法,该方法允许修改动物,可以是狗或猫

这是我想要的方法签名:

我希望前端发送一只狗或一只猫,它们将被反序列化为 Quarkus 中的动物。但是当前端发送狗或猫时,我收到此错误:

严重 [org.ecl.yas.int.Unmarshaller] (executor-thread-199) 无法创建实例

前端发送一个包含狗或猫所有属性的 json 对象,我很确定 Quarkus 无法将 json 转换为超类型对象。

前端在body中发送的json示例:

0 投票
1 回答
737 浏览

jackson - Jackson 注释 quarkus resteasy 客户端

我有一个客户端包,其中定义了我的 REST 客户端,其中包含以下接口和模型:

和 OAuthRequest 类:

我将此包导入到我的主服务包中,但 quarkus 似乎没有获取 Jackson 注释。请求的属性使用驼峰式大小写进行序列化,而它们应该是蛇形大小写。

编辑:

我正在使用 quarkus-rest-client-jackson 和 quarkus-rest-client 依赖项,任何地方都没有 jsonb 依赖项。

我试图缩小问题的范围:我已将客户端/请求类移动到我的主包中,并且我已经删除了 lombok 注释并公开了我的包含 Jackson 注释的字段。仍然是同样的问题......有人能指出我做错了什么的正确方向吗?

0 投票
1 回答
725 浏览

kotlin - Mutiny:从单个 uni 超时中恢复

从一个 quarkus (kotlin) 应用程序,我并行请求多个端点(相同的端点但具有不同的基本 URL),然后我组合 uni 以便不按顺序等待每个响应。

这是一个示例:

我遇到的问题是ifNoItem在超时的情况下不使用。如果单个 uni 花费超过 1 毫秒(此值仅用于测试...),则最后一个块在combinedWith(...).await().

我想在单个 uni 级别处理超时,并将此错误视为失败(并记录和恢复)。但这似乎不起作用。我的实现来自https://smallrye.io/smallrye-mutiny/#_how_do_i_handle_timeout)。

如何正确地做到这一点?

0 投票
1 回答
332 浏览

java - QUARKUS - MicroProfile REST 客户端:添加自定义的非映射字段

我正在关注这篇文章https://quarkus.io/guides/rest-client来构建一个 REST 客户端来解析来自 restcountries.eu 服务的输出。这里是持有模型的类:

现在,假设我想添加一个自定义字段,例如时间戳,以记录创建此对象的时刻。我想,我会继续添加另一个字段,如下所示:

我的问题是:我如何告诉客户填充该字段?通常,我会在构造函数中完成它。但是,我找不到解释这部分的文档。

谢谢你的帮助

西蒙妮

0 投票
2 回答
279 浏览

java - Quarkus RestClient 返回空模型(JAVA)

在我的应用程序中,我有 2 个项目(服务),我想从一个服务到另一个服务进行 API 调用。所以我遵循了 Quarkus Restclient 的 Quarkus 教程。但是当我打电话时,restclient 返回一个默认模型。

这是我的响应类:

这是它返回的响应模型,我也让 RestClient 接收这个模型。但是 RestClient 给了我一个带有默认构造函数的 Response 对象。而是用具体的数据。

我接到这个电话的界面:

所以我得到了一个默认的构造函数 Response obj。

亲切的问候,巴特

0 投票
1 回答
186 浏览

java - Qurakus 在 RestClient 中序列化“原语”

我在 Quarkus RestClient 上苦苦挣扎。

首先创建一个简单地打印我们的请求正文的控制器:eG

现在我们创建一个接受任何对象作为请求主体的 RestClient:

请注意,我们说@Consumes(MediaType.APPLICATION_JSON)主体应该在请求期间序列化 JSON。

做一个快速测试:

你会看见:

如果您发送任何类型的非原始对象,则正文将被表示为 JSON。如果您发送一个字符串,则正文不是 JSON 序列化的(换行符应该\n与第二个请求中的类似)。不幸的是,我还需要序列化的字符串。我怎样才能做到这一点?

更新

这样我可以更好地理解:将Controller替换为:所以我们进行JSON解析。

这将失败:

0 投票
1 回答
508 浏览

kotlin - Quarkus/Kotlin:注解参数必须是带有 java 类的编译时常量

在 quarkus/kotlin 应用程序中,我有一个非常基本的休息客户端:

问题是,当请求失败时,它会返回一个无法映射的响应。所以我想添加一个异常映射器,以记录真正的错误:

为此,我应该对我的客户进行注释:

这样做,我有一个 kotlin 错误:

注释参数必须是编译时常量

我用谷歌搜索,但只能找到字符串的解决方案。在这种情况下,kotlin 期望 java 类是编译时常量。如何得到它?

0 投票
1 回答
323 浏览

java - ClientRequestFilter 获取路径参数

我有一个具有以下定义的 JAX-RS 休息客户端。

我想拦截这个传出请求并读取 a 中的paymentIdClientRequestFilter

我尝试使用UriInfowhich 适用,ContainerRequestFilter但上下文在ClientRequestFilter.

如何读取 a 中的特定路径参数ClientRequestFilter

0 投票
0 回答
716 浏览

quarkus - Quarkus RestClient 从重定向获得响应

我正在使用Quarkus Rest Client对外部 API 服务执行 GET 请求。但是,此服务不会直接返回我需要接收的资源 (XML),但它会重定向到另一个返回资源的 API 服务。

当我尝试导航到向 API 服务询问资源的路径时(即 localhost:8080/hello),我被重定向到包含资源的页面,而不是接收和处理它。

在请求之后放置断点,表明请求之后的代码部分永远不会到达。这是端点的代码:

这是 MyService 的代码:

我试图添加配置key/mp-rest/followRedirects=true,但我仍然遇到同样的问题。此外,使用没有重定向的路径,一切正常。

使用本机 HttpURLConnection 也可以正常工作,但是,由于我使用的是 Quarkus,我想改用它的功能。