问题标签 [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.
swagger-ui - 当 Quarkus api 部署到 Kubernetes 时,Swagger UI 未显示
我已经通过启用具有属性的招摇将在 Quarkus 上开发的 api 部署到 Kubernetes,
quarkus.swagger-ui.always-include=true quarkus.swagger-ui.path=/swagger-ui.html
在本地 swagger 出现,但是当部署到 Kubernetes 时,swagger UI 不显示任何 api,它显示以下错误。在此处输入图像描述
有什么建议么?关于如何解决这个问题?
resteasy - 使用 RESTEasy 的 REST 客户端的可选响应正文
我正在为 Quarkus 编写 POC。我正在使用此快速入门指南来构建 REST 客户端。我将集成的 REST 服务是第三方。这是我当前实现的一个简单示例:
这工作正常。我遇到的问题是第三方 API 将根据成功/失败返回响应正文。在失败的情况下,它会在响应正文 ( ApiResponse
) 中提供有关失败原因的详细信息。当它成功时,它什么也不返回。这会导致 Quarkus 抛出以下异常:
javax.ws.rs.ProcessingException: RESTEASY003145: Unable to find a MessageBodyReader of content-type application/octet-stream and type com.test.app.ApiResponse
我试图包装ApiResponse
一个Optional
类型,但没有解决问题。我在 Quarkus / RESTEasy 文档中完全看不到任何可以表明解决方法的内容。
我想知道我是否应该javax.ws.rs.core.Response
改用。
quarkus - 使用 RestClient 时出现 ContextNotActiveException
我目前正在使用 quarkus 开发基于微服务的应用程序。我需要修改 SecurityIdentity(用户通过 oidc 进行身份验证)以注入从另一个微服务检索到的权限列表。我目前将其用于以下目的:
其中 CoreServiceClient 是用于检索用户权限的 RestEasy RestClient,但是当我运行代码时,我得到一个 javax.ws.rs.ProcessingException:javax.enterprise.context.ContextNotActiveException
关于如何完成这项任务的任何想法?
谢谢尤克斯
jwt - quarkus 是否支持 gzip jwt 令牌
我正在使用 Smallrye JwtClaimsBuilder 在我的应用程序中构建令牌。
是否可以使用 gzip 压缩令牌的主体?我在文档中找不到有关此的内容。
当然我可以使用不同的方式来生成令牌,但它可以通过 quarkus 框架进行验证吗?
httpresponse - 无法在 Microprofile Rest Client 中映射/获取 422 错误代码上的响应实体
我有一个 API,当我通过邮递员调用它时,它会在以下情况下给出以下响应:
案例1:状态码:200
案例2:状态码:422
我想通过使用 quarkus/java 项目的 microprofile restclient 来实现上述两种情况的相同结果。所以创建了以下类
Java DTO 类:
休息客户端类:
包 com.tatadigital.rest.service;
最后,我通过应用程序对其进行了测试,对于 case-1,按预期接收状态码为 200 的响应正文。但是对于 case-2,因为状态码是 422,所以会抛出异常并得到处理,但是在异常对象中我们有响应对象,并且在其中我们有响应实体。此响应实体为空,甚至 studentResponse 也为空。我想在 422 状态代码案例中获取错误消息(json 响应)和 microprofile 休息客户端案例。有什么方法/建议可以实现这一目标?
quarkus - Quarkus/Microprofile REST 客户端不重试失败的调用
更新:在https://github.com/quarkusio/quarkus/issues/17145下创建的问题
使用 Quarkus 1.13.3.Final 我试图在使用 Microprofile REST 客户端的 Quarkus 风格并根据文档找出故障处理:
返回 Uni 时,每个订阅都会调用远程服务。这意味着您可以通过在 Uni 上重新订阅来重新发送请求,或者使用重试 [...]
但是,当我通过返回 a 使请求在另一端失败时,Uni.createFrom().failure(new RuntimeException());
客户端只会挂起,直到发生具有预设延迟的设定数量的尝试,但没有迹象表明这些尝试会到达其他服务。远程端点的代码只运行一次。
我对新的 Quarkus Reactive REST Client 和旧的客户端都进行了相同的尝试,每次都使用 Mutiny Uni 作为返回值,设置和不设置最大重试次数、等待时间等。由 Uni 的 .onFailure().retry() API 提供。
REST 客户端:
REST 客户端属性:
在调用方注入和使用 REST 客户端:
远程服务端:
调用者服务不产生任何日志,但从远程服务日志中可以清楚地看出,尽管将重试计数设置为 6,但端点要么只被调用一次,要么可能存在某种我无法做到的缓存在文档中找到任何内容。
quarkus - Quarkus 中的 Cookie 管理
如何在 Quarkus REST 客户端中配置 cookie 管理?
我正在为一个 API 构建一个客户端,该 API 在登录时设置一个会话 cookie,然后将该会话 cookie 用于身份验证 - 一个非常标准的有状态 API。
似乎默认行为 with@RegisterRestClient
不会在请求之间保留 cookie。
挖掘一下,似乎有ResteasyClientBuilderImpl
一个默认的字段。然后默认情况下也会禁用 cookie。cookieManagementEnabled
false
ClientHttpEngineBuilder43
我还发现,如果您使用异步引擎 ( useAsyncHttpEngine
),则不会使用此同步引擎构建器,并且还会启用 cookie 管理。
ResteasyClientBuilder
我发现配置底层的唯一方法RestClientBuilder
是使用RestClientBuilderListener
. 然而,情节在这里变厚了。
有一种方法RestClientBuilder
- property(String name, Object value)
- 在Quarkus at least
将委托给底层的情况下ResteasyClientBuilder
然而,几行下来
即它只允许调用非空方法。为了启用 cookie 管理,我需要调用enableCookieManagement
- 它没有参数。
因此,我发现启用 cookie 管理的唯一方法是:
这显然远非理想,尤其是因为它在 GraalVM 原生图像设置中使用反射,因此可能还需要我在QuarkusRestClientBuilder
.
那么,回到最初的问题,如何在 Quarkus REST 客户端中启用 cookie 管理?
java - 在 Quarkus 中更改构建时间配置
我正在运行一个基于 Quarkus Rest Easy 的 Java 应用程序,该应用程序从外部应用程序中提取数据以加载其缓存。但是我最近开始收到下面的异常并且似乎无法加载缓存。
我明白那个
resteasy.gzip.max.input 默认设置为 10M
(如https://docs.jboss.org/resteasy/docs/3.0.20.Final/userguide/html/gzip.html#d4e1407中所述)从错误中可以清楚地看出我解压缩数据的大小我收到的比这更高。
因此,我尝试将 quarkus ( https://quarkus.io/guides/all-config#quarkus-resteasy-common_quarkus.resteasy.gzip.max-input ) 中的默认属性更改为更高的值。
但是看起来这是一个构建时间属性,无法更改。
PS:
我尝试使用自定义值添加 application.properties,但仍然遇到相同的错误。
尝试将自定义值作为命令行参数传递,但仍然无法使其工作。
似乎我无法更改此属性的值。
有人可以指出我如何在运行时更改此值吗?
谢谢。
yaml - 如何根据给定的 openapi 3.0.3 yaml 文件生成 Quarkus rest JX-RS 服务
目前我正在使用 quarkus 开发一个应用程序。我有一个描述所有内容的 openapi yaml 文件。我想知道是否有 quarkus 扩展或工具,我可以使用它们生成将产生和使用相同文件格式的其余端点。
reactive-programming - 如何处理 quarkus 中反应式我的 sql 客户端的故障
在https://quarkus.io/guides/reactive-sql-clients页面中,我们有代码片段来使用事务执行查询更改:
所以这里 SqlClientHelper 将开始事务,如果任何失败,提交和回滚,但是有没有办法找出失败的根本原因并将其打印在日志中?在文档中没有提到我们如何做到这一点。