问题标签 [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 投票
1 回答
2514 浏览

java - 在 micronaut 中为集成测试配置数据库

我正在尝试在 micronaut 中编写集成测试。

我有一个控制器类:

我正在尝试为它编写一个集成测试,例如:

但我不断收到错误:

我放在“src/test/java/resources/”下的 application.yml 文件具有以下数据源实现:

我也将它包含在我的 build.gradle 文件中

有没有办法解决这个问题?

编辑:这是我的存储库类

0 投票
1 回答
899 浏览

spring - Micronaut 声明式 REST 客户端抛出错误 - @Introduction 方法拦截器丢失

当我为我的 Micronaut 声明式客户端自动装配客户端接口时,我收到此错误:

修复它的正确方法是什么?

细节

我有一个已建立的 Grails 应用程序,我最近从 3.x 升级到了 4.0.1。

这个应用程序有一个服务可以并行执行多个 REST 调用,我正在尝试添加一个使用新的 Micronaut HTTP 声明式客户端的新 REST 调用。

我将客户端库添加dependenciesbuild.gradle

我的客户端界面如下所示(在 中src/main/groovy):

我在以下位置配置了 URL application.yml

关于的消息@Introduction让我认为 Micronaut 没有执行编译声明式客户端的过程。有没有一些

我还缺少什么?

更新:

我尝试将build.gradle依赖项更改implementation为 Micronaut 文档中compile所示的,而不是 Grails 文档中所示的 。没有骰子。

更新 2:

我发现HttpClientIntroductionAdvice在启动期间从未调用过构造函数。我不知道为什么它没有包含在我的项目中。IntelliJ 显示micronaut-http-client:1.1.4在外部库中,并且设置为compile范围。

0 投票
1 回答
274 浏览

spring-boot - 如何在 micronaut 客户端 @Header 中使用 Grails 环境设置?

我的 Grails 中有一个特定于环境的标头属性application.yml,配置如下:

如何@Header在 micronaut HTTP 声明式客户端中使用此设置?

我试过这个:

但我收到了这个错误:

此外,并非所有环境都需要此标头(在这种情况下,它将设置为空字符串)。@Header 会处理这个吗?还是我需要做一些不同的事情?

0 投票
1 回答
250 浏览

micronaut - 将 micronaut 项目转换为 micronaut servlet 后出现运行时错误

我正在尝试将 Micronaut-servlet API 用于现有的微服务。如果没有 servlet API,以下工作非常好

这是控制器

并且该服务具有逻辑,如果电影<->用户映射已经存在,则不保存任何数据并返回现有映射

存储库也很简单

在我删除之前,所有这些都可以正常工作

并将其替换为 implementation("io.micronaut.servlet:micronaut-http-server-jetty:1.0.0.M1")

更改后出现以下异常

如果我尝试保留这两个依赖项,那么我会得到 HTTPClient 注入的重复 bean 异常!

0 投票
1 回答
321 浏览

unit-testing - grails 中的 Micronaut 声明式客户端:我如何模拟它?

在对 Grails 服务进行单元测试时,模拟声明式 REST 客户端的正确方法是什么?

细节

我在我的 Grails 4 应用程序中使用 Micronaut 的声明式 HTTP 客户端。

我尝试使用 Ersatz 对客户端进行单元测试,但几天后我无法让它工作: 如何在 grails 测试环境中配置 Micronaut @Client?

现在,我正在尝试对使用它的服务进行单元测试,使用标准方法来模拟依赖项:

这给了我一个NoSuchBeanDefinitionException.

我通过反复试验发现声明式客户端无法与def myRestClient其他 Grails bean 一样使用。一定@Autowired。_

0 投票
1 回答
1067 浏览

java - 如何使用 Micronaut 在 HttpClientFilter 中重试 HTTP 客户端请求?

我已经实现了一个 micronautHttpClientFilter来为对 3rd 方服务的所有请求添加一个缓存的不记名令牌,但是这个令牌会定期过期。我想使用下游 API 重新进行身份验证,并在发生这种情况时重试请求,但似乎没有明显的方法可以做到这一点。到目前为止,我只是proceed第二次调用,但这会导致Index out of bounds抛出错误(我认为这是应该抛出的异常,但这里的 Micronaut 中似乎存在错误)。我所拥有的最小减少如下:

谁能提出正确的方法来做到这一点?

0 投票
2 回答
2198 浏览

java - Micronaut HTTP 客户端 - 反序列化泛型类型 - 用于 API 测试

对于 API 测试,我必须使用 io.micronaut.http.client.HttpClient 解析请求的响应

我更喜欢使用下面给出的格式。

但它不起作用。尝试从响应中获取用户时出现类型转换错误

目前我正在使用ObjectMapper (Jackson),如下所示,

有没有办法直接使用TypeReference和HttpClient检索方法?或以任何其他方式将泛型类类型与HttpClient一起使用。

其他有用信息

示例响应

0 投票
1 回答
413 浏览

micronaut - Micronaut -> 合并 2 个异步 HttpClient 调用的结果

我一直在试验 Micronaut 的各种功能。我有几个问题。

1) 我对各种 API 有 2 次异步调用。如何像在 RxJava Observable.zip 中那样组合 2 个 API 的结果?

2) 我正在使用声明式客户端连接到 API。在这种情况下如何捕获异常?在 Netflix Feign Client 中,我们使用 FallBack Factory。我如何在 Micronauts 中做同样的事情。

0 投票
0 回答
711 浏览

rx-java - 如何在 Micronaut Http Client 中限制并行 http 请求

我正在做一个 micronaut 项目。我正在使用 micronaut 声明式 http 客户端调用一些外部 Web 服务。

我正在做的是每当我从一个消息队列中收到一条消息时,我都会将该数据从队列发布到外部服务。所以在队列监听器中我订阅了这个客户端代码。

现在的问题是外部服务提供商在一分钟内限制了请求速率。现在我想限制一次触发的请求数。我在 rxjava 和 micronaut 应用程序开发方面非常陌生。什么是更好的设计来限制从我的应用程序触发的并行请求。是否有任何 RxJava 方法来限制请求?或者我想在 httpclient 配置中进行任何配置更改。请帮忙。

0 投票
0 回答
75 浏览

java - 如何使用 micronaut http 客户端进行摘要身份验证?

我需要调用一个使用摘要身份验证机制的 api。

如何使用 micronaut http 客户端做到这一点?

我使用这个简单的 HttpClientFiler 轻松地使用基本身份验证进行身份验证应用程序:

但是我没有发现任何与摘要身份验证相同的事情。任何想法?