问题标签 [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.
quarkus - quarkus-rest-client 不能与 @ApplicationScoped bean 一起用于本机图像:堆中不允许 sun.security.provider.NativePRNG 的实例
Github 上提供了重现此问题的示例项目
我正在使用 quarkus-rest-client 从我的 Quarkus 应用程序调用 REST 服务。
ExampleResource
提供一个使用http://localhost:8080/echo
调用的端点:https://postman-echo.com/get
RestClient
虽然它工作正常,但当我尝试生成本机图像时它失败了:
如果我按照Quarkus 指南中有关此错误的说明,在 pom 中添加其他构建参数,它仍然会失败:
当RestClient
被定义为@ApplicationScoped
组件时会出现问题。如果我更改它以使其实例化,则本机图像生成没有任何问题:
问题是如何将其定义RestClient
为@ApplicationScoped
组件并能够生成本机图像?
java - 如何使用 OAuth 对 MicroProfile REST 客户端调用进行身份验证?
在我的服务器应用程序中,我想使用 MicroProfile REST 客户端使用一些第三方 API。为此,我需要发送一个Authorization
带有不记名令牌的 Header。
我不想在进行任何调用之前总是获取令牌,因此我需要一种机制来仅在还没有令牌或令牌过期时才检索新令牌。然后可以在每次调用中存储和使用令牌,直到它过期。下一次调用会导致 HTTP 401 Unauthorized 的 API 将导致获得一个新的令牌。
不幸的是,到目前为止,我无法找到有关如何使用 MicroProfile REST 客户端使用 OAuth 安全 API 的任何资源。我希望任何人都可以给我任何提示。我正在使用 Kotlin 和 Quarkus,但 Java 相关文档也可以。任何事情都有帮助。
这是我相当简单的客户:
java - 创建 kubernetes 部署时 Quarkus RestClient 属性的 env 值无效
按照 Quarkus Rest Client 教程,我需要在 application.properties 文件中添加与此类似的内容:
country-api/mp-rest/url=https://restcountries.eu/rest
使用 Docker 它可以工作,我可以通过参数传递属性值:
docker run -it --privileged --rm --env country-api/mp-rest/url="https://restcountries.eu/rest" mydockerhost/my-project:SNAPSHOT
Kubernetes 的 YAML 文件如下所示:
但是执行命令时出现以下错误kubectl apply -f my-projetc.yaml
The Deployment "my-project-deployment" is invalid:
* spec.template.spec.containers[0].env[1].name: Invalid value: "country-api/mp-rest/url": a valid environment variable name must consist of alphabetic characters, digits, '_', '-', or '.', and must not start with a digit (e.g. 'my.env-name', or 'MY_ENV.NAME', or 'MyEnvName1', regex used for
validation is '[-._a-zA-Z][-._a-zA-Z0-9]*')
Quarkus 版本:1.3.1.Final
quarkus - 依赖注入在 RestClientBuilderListener 中不起作用
我遵循了 Quarkus 网站上的其余客户端指南。它工作正常。但是,当使用 ServiceLoader 模式注册全局提供程序时,如规范中所述,CDI bean 注入不起作用,它们都是空的。我下载了示例并简单地添加了以下类:
我还添加了内容为 org.acme.rest.client.MyListener 的文件 META-INF/services/org.eclipse.microprofile.rest.client.spi.RestClientBuilderListener。调用了 MyListener onNewBuilder 方法,但注入的提供程序 MyExceptionMapper 为 null。如何在 Quarkus 客户端注册全球提供商?
java - 如何测试 Quarkus REST 客户端接口?
我在 Quarkus 中使用 MicroProfile REST 客户端,想知道如何对自定义客户端接口进行单元测试?
示例服务:
是否可以编写涵盖此功能的单元测试?例如,我想测试请求正文是否被正确处理并包含正确的 JSON(特别是因为我有一个问题,即 JVM 和本机图像模式之间的行为不同)。
REST 服务器资源可以很容易地使用 REST-assured 进行测试,但我没有发现任何类似的 REST 客户端接口。
关于使用 REST 客户端的Quarkus 指南也对我没有任何帮助,因为它使用的是实际服务来进行调用。在我的情况下,服务器端在构建/测试过程中不可用。
有什么建议么?
unit-testing - 在 Quarkus 中执行端点单元测试的最佳方法是什么?
我对在 Quarkus 中执行单元测试的最佳方法有一些疑问。
一种选择是使用模拟,但我有一种感觉,使用模拟我只是“让”测试覆盖插件“开心”,但实际上我没有用这种方法测试任何东西。
另一种选择是使用真实的数据库,如嵌入式 H2 数据库,但为此,我需要按顺序放置单元测试(插入、获取、更新、删除),有时我需要从另一个测试中插入的 ID 来执行例如删除操作。有一些复杂的实体会给插入或删除带来一些困难。因此,使用这种方法,我将失去单元测试的概念,因为我将失去测试的相互依赖性。
有人对这种情况有建议吗?额外信息:我正在使用liquidbase,panache entity,junity。
resteasy - 调试 RestEasy RestClient
我正在使用 quarkus 中的框架为 mandrill API 构建一个休息客户端
这是我的 application.properties 的相关部分
还有我的示例资源
我看到的是,如果我正在调用的 API(在这种情况下为 Mandrill)返回错误响应(例如,如果我的密钥错误),那么我用来存储响应的变量不会得到响应。相反,我向围绕它的应用程序公开的 REST API 填充了来自 Mandrill 的响应。
这是预期的行为吗?如何在 Quarkus 中调试 REST 客户端实现的输出?
被调用的 REST API 是 https://mandrillapp.com/api/docs/users.JSON.html#method=ping2
jwt - 无法在 Quarkus 应用程序中创建 JwtClaimsBuilder 的实例
我目前正在开发 Quarkus 应用程序。我创建了一个身份验证服务,它将验证用户并将创建 JWT 令牌并在成功身份验证后将其发送给客户端。
但目前,我在创建 JWT 令牌时遇到了问题。对于令牌创建,我正在使用
请参阅以下用于创建令牌的代码。
一旦执行了上述方法,就会JwtClaimsBuilder claims = Jwt.claims(jsonResName);
抛出 NullPointerException,因为它无法解析 JWT 声明。
请参考以下日志
正在传递的文件。
quarkus - 如何在测试期间覆盖 Quarkus Resteasy url?
在使用 Quarkus Restclient / RESTEasy 进行集成测试时,我们希望在运行时覆盖 url 和端口。这样做的原因是,如果我们并行构建多个模块,我们需要使用随机端口,否则我们会遇到端口冲突,或者我们需要非常仔细地协调哪个模块使用哪个端口。
有没有办法做到这一点?