问题标签 [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.
java - Micronaut 客户端 - 具有自定义内容类型的 XML
我正在开发一个 Micronaut 应用程序,该应用程序调用一些返回 XML 的遗留服务,其中一些需要自定义内容类型(例如,application/x-foobar+xml;version=1
)。我可以通过执行以下操作设置请求的内容类型:
但我收到如下错误:
有关于如何通过配置文件添加其他媒体类型以作为 JSON 或文本处理的文档,但这不适用于 XML。似乎应该有一种方法可以使用自定义媒体类型创建XmlMediaTypeCodec的子类并将其注册到MediaTypeCodecRegistry但该过程没有记录在任何地方。是否有其他人需要做类似的事情并想办法让自定义内容类型与 XML(或除文本和 JSON 之外的任何其他内容)一起使用?
java - Micronaut HttpClients 交换体始终为空
我已经设置了一个简单的测试控制器:
我在我的单元测试中使用了低级 HTTPClient,它看起来像这样:
据我了解,响应主体永远不应该为空,但它是用于测试的shouldReturnHelloWorld2
-shouldReturnHelloWorld1_1
所以在使用时它总是为空HttpClient.exchange()
。在我看来,这似乎是错误还是这里有什么问题?
您可以通过克隆我的示例存储库来检查整个代码并自己运行测试:https ://github.com/tobi6112/micronaut-httpclient-issue
更新: 刚刚注意到测试按预期工作
json - 如何在 Kotlin 中忽略(跳过反序列化)格式错误的 LocalDate 字段?
我有Micronaut Http Client
从Kotlin
另一个微服务加载数据的方法。此微服务的日期格式有时无效。
示例:正常模式是dd-MM-yyyy
,但是当没有日期时,微服务将其返回为" - - "
。所以,当日期为" - - "
. 我已经使用过@JsonDeserialize(using = "CustomDateDeserialize")
,但是当不满足模式时,我无法不反序列化日期字段。
我的客户
我的DTO
MyCustomDeserializer
源 Json
java - 使用现有服务器创建 Micronaut java httpclient
我有一个使用以下配置运行的 Micronaut 应用程序:
现在我有一个增强功能,我想调用第 3 方 URL 并在我的应用程序(我的应用程序中的模块之一)中获取响应。我使用了下面的代码片段:
但这不起作用。我得到端口已经在使用。我在谷歌上没有找到太多帮助,因为 MicronautHttpClient
通常用于 Micronaut 测试,而我的情况并非如此。这可以在我的应用程序中使用吗?如果有怎么办?提前致谢。
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 个连接/客户端后似乎出错,但更改连接池和超时似乎不会改变结果。我错过了一些客户端配置吗?
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个解决方案
- 将java更新到最新版本
- 使用以下命令导入证书
micronaut - 如何在 Micronaut for Server 中模拟用于 Server StartupEvent 的客户端接口
我有一个 @Client 带注释的接口,用于在我的应用程序在 OnApplicationEvent(ServerStartupEvent event) 方法中启动时访问特定的 URL 并获取一些数据。问题是当我使用@Micronaut Test 时,它会实例化整个服务器并且我的客户端连接到实际的 Web 服务器。我的代码与此链接中给出的代码非常相似,只是我有一个注入的客户端接口,用于从 URL 访问数据。
理想情况下,我想要的是我可以通过 Mocking 或其他方式来控制客户端返回的内容。问题是当我为我的客户端执行@Mock 时,它的范围仅限于@Test 方法,并且已注入主应用程序类的客户端仍然与Web 服务器联系。
所以,我的问题是如何模拟应用程序启动的客户端接口,以便它返回一些东西。
或者,如果可以建议一些东西来覆盖 OnApplicationEvent 方法,那就太好了。
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
java - 异常堆栈跟踪和原因未映射到 Micronaut 2.5.8 中的自定义全局异常处理
试图在 Micronaut 中处理全局异常处理,但是异常堆栈跟踪和原因没有被抛出到 ExceptionHandler。
控制器
实际错误未映射到 GlobalExceptionHandler。exception.getLocalizedMessage()
为空并且LOG.error(exception.getCause().getCause().getMessage())
抛出空指针异常
kotlin - Micronaut 声明式 HttpClient 超时
我有这个声明性客户端:
我已将客户端超时设置为 30 秒:
随机我得到:
这种非常烦人的行为可能是什么原因造成的?