问题标签 [vertx-httpclient]
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.
oauth-2.0 - Vertx OAUTH2.0 访问令牌错误:NoSuchKeyIdException
我正在使用 vertx 生成带有客户端凭据的 OAuth2 令牌,这是代码片段
OAuth2ClientOptions credentials = new OAuth2ClientOptions() .setClientID(clientId) .setClientSecret(clientSecret) .setFlow(OAuth2FlowType.CLIENT) .setTokenPath("oauth/token URL");
错误: 访问令牌错误;io/vertx/ext/jwt/NoSuchKeyIdException Stack Future{cause=io/vertx/ext/jwt/NoSuchKeyIdException}
vert.x - Vertx Web 客户端为 Multipart/form-data 抛出 HTTP 415 Unsupported Media Type
该服务接收来自移动客户端的多部分请求,并将请求传递给下游服务以上传图像。我在下游服务中看到 415 Unsupported Media Type
获取以下异常
我的下游服务的 API 签名
有人可以指导我的代码片段中有什么问题,或者是否需要在 vertx 服务器或 vertx Web 客户端中启用任何设置?
谢谢,尼蒂什·戈亚尔
kotlin - 我想用 Vertx 发送一个文件部分图像,我想用 Postman 之类的代码复制这个案例
当我运行代码显示错误请求时,我已经输入了关键的“图像”并发送了文件部分图像
vert.x - Vertx WebClient 在多个 Verticle 之间共享还是单一?
我使用 vert.x 作为 api 网关将调用路由到下游服务。
截至目前,我正在使用跨多个 Verticle 共享的单个 Web 客户端实例(通过 guice 注入)
每个verticle都有自己的webclient有意义吗?对提高性能有帮助吗?(我的每个网关实例运行 64 个 Vericles,每秒处理大约 1000 个请求)
每种方法的优缺点是什么?
有人可以帮助找出相同的理想策略吗?
谢谢
vert.x - Vert Http Client 最大连接池?这个池是每个端点还是总数?
我正在为 api-gateway 使用 vertx Web 客户端(3.8.5)并将 setMaxPoolSize 设置为 20。这个限制是每个端点还是所有端点的总和?
我正在部署我的应用程序,每个 Verticle 有 36 个顶点和 1 个 Web 客户端,总共有 36 个 Web 客户端,我的应用程序需要连接到 1000 多个不同的 ip:port。现在,为了利用连接池的好处,如果上述限制是对总连接数的限制,我需要 setMaxPoolSize >= 1000,这使得来自应用程序的总连接数等于 1000 * 36 >= 36000。以上建议的设置是什么用例?
如果我设置 maxPoolSize = 20 并且它们都没有过期(过期时间 = 60 秒)并且只假设其中有 10 个正在使用,那么当请求不在池中的 ip:port 时会发生什么。它是否排队或其中一个未使用的连接被断开并建立了一个新连接(用于新的 ip:port)?
我的 api-gateway 客户端配置应该是什么来处理不同 ip:port 的多个并发请求?
谢谢,尼蒂什
webclient - Vertx 无法解析主机,也无法使用 webclient 下载大文件
我正在尝试从服务器下载文件但出现错误
检查了一些我发现需要禁用 dnsresolver 的解决方案,但这对我也不起作用。
这是禁用 dnsresolver 的代码
源代码 :-
这是一个例外:-
更新:- 使用 getAbs() 我可以下载大约 15 到 20 mb 的文件,但如果文件大小超过 500mb 则无法下载
vert.x - Vert.x httpClient - 知道如何限制并发请求的数量吗?
我需要发送 x HTTP 客户端请求。我想并行发送请求,但一次不超过 y。
我将解释:客户端只能同时处理 y 个请求。我需要向客户端发送 x 请求,而 x > y。
我不想等到所有第一个 y 请求都结束,然后再发送另一批 y 请求。这种方法效率不高,因为每时每刻,我的客户都可以处理 y 个请求。如果我等到所有第一个 y 结束再发送另一个 y 请求,客户端将不会被充分利用。
- 任何想法如何用 vert.x 实现它?
我正在考虑一次发送 x 个请求,然后在每次处理程序获取回调时发送另一个请求。有意义吗? - HttpClientOptions中的maxPoolSize是什么意思?它与并发请求有任何联系吗?
非常感谢!
java - Vertx 用户授权主体或属性
我在我的 API 上使用 Vertx 框架来授权 JWT 令牌。在用户获得授权并解密令牌后,我想访问令牌的内容,特别是令牌中的“userId”字段。
最初我使用req
as访问它RoutingContext
:
req.user().principal().getString("userId");
这会按预期工作,直到它在不同的机器上编译。当在不同的机器上编译时,req.user().principal()
只包含字段access_token
,包含仍然加密的 JWT。
解决方案是通过以下方式访问用户 ID
req.user().attributes().getJsonObject("accessToken").getString("userId");
我已经在 4 台不同的机器上对此进行了测试。其中 2 个使用主体工作,另外 2 个需要属性。似乎只在乎它在哪台机器上编译,而不在乎它在什么机器上运行。机器之间没有更改代码。Java、Maven 和 Vertx 版本每次都相同。
我在网上找到的一些解决方案只是检查所需字段是否主要,如果不使用属性。不过,这似乎是一个糟糕的解决方法。必须有适当的方法来访问它。
访问解码令牌中的值的正确方法是什么?为什么它似乎会根据编译机而改变?
vert.x - 在 vertx 中,有没有办法可以更改标头并重定向到另一台服务器
我是 Vertx 的新手,我正在编写一个代理服务器,它将接受请求、更新标头并发送到另一台服务器。收到响应后,将完整的响应原样发送给客户端。
在 vertx 中,有没有办法让我向前迈进,或者我需要为每个 http 方法和内容类型实现处理程序,以创建新请求并使用新客户端发送?