问题标签 [micronaut-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 投票
0 回答
163 浏览

java - Micronaut 客户端 - 具有自定义内容类型的 XML

我正在开发一个 Micronaut 应用程序,该应用程序调用一些返回 XML 的遗留服务,其中一些需要自定义内容类型(例如,application/x-foobar+xml;version=1)。我可以通过执行以下操作设置请求的内容类型:

但我收到如下错误:

有关于如何通过配置文件添加其他媒体类型以作为 JSON 或文本处理的文档,但这不适用于 XML。似乎应该有一种方法可以使用自定义媒体类型创建XmlMediaTypeCodec的子类并将其注册到MediaTypeCodecRegistry但该过程没有记录在任何地方。是否有其他人需要做类似的事情并想办法让自定义内容类型与 XML(或除文本和 JSON 之外的任何其他内容)一起使用?

0 投票
0 回答
292 浏览

java - Micronaut HttpClients 交换体始终为空

我已经设置了一个简单的测试控制器:

我在我的单元测试中使用了低级 HTTPClient,它看起来像这样:

据我了解,响应主体永远不应该为空,但它是用于测试的shouldReturnHelloWorld2-shouldReturnHelloWorld1_1所以在使用时它总是为空HttpClient.exchange()。在我看来,这似乎是错误还是这里有什么问题?

您可以通过克隆我的示例存储库来检查整个代码并自己运行测试:https ://github.com/tobi6112/micronaut-httpclient-issue

更新: 刚刚注意到测试按预期工作

0 投票
1 回答
153 浏览

json - 如何在 Kotlin 中忽略(跳过反序列化)格式错误的 LocalDate 字段?

我有Micronaut Http ClientKotlin另一个微服务加载数据的方法。此微服务的日期格式有时无效。

示例:正常模式是dd-MM-yyyy,但是当没有日期时,微服务将其返回为" - - "。所以,当日期为" - - ". 我已经使用过@JsonDeserialize(using = "CustomDateDeserialize"),但是当不满足模式时,我无法不反序列化日期字段。

我的客户

我的DTO

MyCustomDeserializer

源 Json

0 投票
1 回答
616 浏览

java - 使用现有服务器创建 Micronaut java httpclient

我有一个使用以下配置运行的 Micronaut 应用程序:

现在我有一个增强功能,我想调用第 3 方 URL 并在我的应用程序(我的应用程序中的模块之一)中获取响应。我使用了下面的代码片段:

但这不起作用。我得到端口已经在使用。我在谷歌上没有找到太多帮助,因为 MicronautHttpClient通常用于 Micronaut 测试,而我的情况并非如此。这可以在我的应用程序中使用吗?如果有怎么办?提前致谢。

0 投票
2 回答
1881 浏览

micronaut - 使用 HttpClient 的 Micronaut 读取超时

我正在努力使用Micronaut HTTPClient多次调用第三方 REST 服务而没有收到io.micronaut.http.client.exceptions.ReadTimeoutException

为了消除第三方依赖,可以使用一个简单的 Micronaut 应用程序调用它自己的服务来重现该问题。

示例控制器:

测试客户端:

使用 curl、ab 或 postman 直接调用 /service 端点不会产生错误。

调用 /mproxy 端点会抛出异常

或者,如果通过 ab 测试 /proxy 端点,则会引发相同的异常

ab -c 5 -n 200 本地主机:8080/代理

或通过与邮递员的多次通话。

这适用于具有绝对香草模板应用程序的 micronaut 版本 2.5.5,在 application.yml 中未指定连接池或超时。

在 4 个连接/客户端后似乎出错,但更改连接池和超时似乎不会改变结果。我错过了一些客户端配置吗?

0 投票
1 回答
128 浏览

java - imstjsjwks.JwksSignature - 从 https://localhost:5001/.well-known/openid-configuration/jwks 加载 JWK 时出现异常。Micronaut Java

我正在使用带有 Micronaut 2.5.6 应用程序的 Asp.net 核心身份服务器进行 OAuth,如下配置

我正在使用 Mac OS,浏览器中的 JWK

例外

钥匙链

在此处输入图像描述

我尝试了以下2个解决方案

  1. 将java更新到最新版本
  2. 使用以下命令导入证书

来自这里的解决方案Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed 错误?

0 投票
0 回答
35 浏览

micronaut - 如何在 Micronaut for Server 中模拟用于 Server StartupEvent 的客户端接口

我有一个 @Client 带注释的接口,用于在我的应用程序在 OnApplicationEvent(ServerStartupEvent event) 方法中启动时访问特定的 URL 并获取一些数据。问题是当我使用@Micronaut Test 时,它会实例化整个服务器并且我的客户端连接到实际的 Web 服务器。我的代码与此链接中给出的代码非常相似,只是我有一个注入的客户端接口,用于从 URL 访问数据。

理想情况下,我想要的是我可以通过 Mocking 或其他方式来控制客户端返回的内容。问题是当我为我的客户端执行@Mock 时,它的范围仅限于@Test 方法,并且已注入主应用程序类的客户端仍然与Web 服务器联系。

所以,我的问题是如何模拟应用程序启动的客户端接口,以便它返回一些东西。

或者,如果可以建议一些东西来覆盖 OnApplicationEvent 方法,那就太好了。

0 投票
0 回答
92 浏览

micronaut - 带有 Flowable 的 Micronaut 2.5.5 OutOfMemoryError

我的应用程序基本上是另一个服务的代理,我的应用程序将 JSON 转换为第三方服务所需的 SOAP,调用该服务,然后将 SOAP 响应转换为 JSON。有时我在发出请求后会收到OutOfMemoryError ,有时是在第一个请求时。

我需要以某种方式关闭Flowable吗?

我的 application.yml 中有以下配置供客户端使用

这是我用来进行 http 调用的代码

这是我用来调用第三方服务器的服务

我添加doOnXXX主要是为了让我了解发生了什么。但是正如我在上面的代码中所说的那样,我会在控制台中收到以下错误,它看起来并不致命,因为服务器一直在运行,但它令人担忧:

我正在调试这个

  • macOS 卡塔利娜
  • IntelliJ 2021.1.3(2021 年 6 月 30 日构建)
  • OpenJDK 运行时环境 AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
  • 微航海 v2.5.5
0 投票
1 回答
99 浏览

java - 异常堆栈跟踪和原因未映射到 Micronaut 2.5.8 中的自定义全局异常处理

试图在 Micronaut 中处理全局异常处理,但是异常堆栈跟踪和原因没有被抛出到 ExceptionHandler。

控制器

实际错误未映射到 GlobalExceptionHandler。exception.getLocalizedMessage()为空并且LOG.error(exception.getCause().getCause().getMessage())抛出空指针异常

0 投票
2 回答
706 浏览

kotlin - Micronaut 声明式 HttpClient 超时

我有这个声明性客户端:

我已将客户端超时设置为 30 秒:

随机我得到:

这种非常烦人的行为可能是什么原因造成的?