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

download - 如何使用 micronaunt HttpClient 从 Web 服务获取字节 [](图像)

我正在将一个 Grails 3.1 库移植到 Grails 4.0,以便使用一些内部 Web 服务。其中一项服务根据请求提供所请求员工的图像。我很难实现(micronaut)HttpClient 代码来处理请求 - 特别是要获得一个正确byte[]的返回图像。

命令行上的一个简单 curl 命令适用于该服务:

并且图像是正确的。header.txt 是:

旧库使用groovyx.net.http.HTTPBuilder并且简单地执行以下操作:

所以从输入流返回字节。这行得通。

我已经使用 micronaut HttpClient 尝试了几件事,包括低级 API 和声明式 API。

声明式 API 的一个简单示例:

而不是在服务中:

这“有效”,但返回的字符串丢失了一些我无法反转的编码:

我用 ByteBuf 类尝试过的一切都会引发io.netty.util.IllegalReferenceCountException: refCnt: 0异常。

任何方向/帮助将不胜感激。

跑步:

0 投票
0 回答
55 浏览

micronaut - Micronaut 中用于文件挂载的属性占位符

我试图提供秘密作为财产占位符。例如,对于 mongobd uri,我希望用户名和密码来自卷上的秘密。这可能吗?例如,对于下面的 kubernetes 配置,我可以提供的占位符是${kubernetes.client.secrets.paths},但我需要从“路径”内部访问嵌套的秘密。这个问题有意义吗?

0 投票
2 回答
2909 浏览

java - 如何使用 Micronaut 客户端注释映射 errorType

如何使用 Micronaut 客户端注释映射 errorType,如果以编程方式我们可以提供主体类型和 errorType 对象以防成功和失败。

以编程方式调用客户端:

使用注解调用客户端

0 投票
1 回答
454 浏览

java - 无法创建生成的 HTTP 客户端所需的返回类型,因为没有从 ByteBuffer 到类 java.io.File 的 TypeConverter:Micronaut

下面是使用 micronaut 将文件作为休息响应发送到客户端的服务器端代码。

下面是调用上述端点的客户端。

试图检索文件如下: -

获取异常为

io.micronaut.context.exceptions.ConfigurationException:无法创建生成的 HTTP 客户端所需的返回类型,因为没有注册从 ByteBuffer 到类 java.io.File 的 TypeConverter

0 投票
0 回答
192 浏览

grails - 在 Grails 4 中使用 Micronaut HTTP 客户端进行参数编码

在 Grails 4.0.1 应用程序中,我使用 Micronaut HTTP 客户端调用外部 Web 服务。参数会自动 url 编码为 UTF-8。如何强制编码为 Windows-1252?

0 投票
2 回答
893 浏览

kotlin - Micronaut 声明式客户端,每个环境具有基本 URL

我希望能够根据我是在本地开发环境还是生产环境中使用 Micronaut 的声明式客户端来访问不同的端点。

我将客户的基本 uri 设置为application.dev.yml

阅读 Micronaut 的文档,他们让开发人员跳过了很多圈,以将动态值输入到实际的客户端中。他们实际上很混乱。所以我创建了这样的配置:

但正如您所看到的,这实际上并没有从 中读取任何值application.yml,它只是将 const 值设置为类上的静态值。我希望该BASE_URL值根据我所处的环境是动态的。

为了使用这个类,我创建了一个这样的声明性客户端:

文档显示了一个示例,他们从这样构建的配置映射中插入值:

@Client()但是我将如何在注释中进行这项工作?

在该示例中,它们没有显示如何bintray定义/注入/等。这似乎与@Value()注释使用的语法相同。我也尝试过使用它,但我尝试使用的每个值最终都是null.

这非常令人沮丧,但我确信我错过了一个让这一切正常工作的关键部分。

0 投票
1 回答
355 浏览

java - Micronaut HttpResponse body CompositeByteBuf 类型抛出 io.netty.util.IllegalReferenceCountException: refCnt: 0

我正在使用 Micronaut@Client调用外部服务,该服务返回我的响应类型FullNettyClientHttpResponse,它的正文形式为CompositeByteBuf(freed, components=1);我想转换CompositeByteBuf为人类可读的toString消息,但它失败了IllegalReferenceCountException. 请提供建议我如何在此处获取短信。

我尝试使用 toString 获取消息,但因 IllegalReferenceCountException 而失败。

toString 返回 CompositeByteBuf。

0 投票
1 回答
225 浏览

kotlin - 安全控制器的测试

我有以下我正在尝试测试的控制器

我的测试如下所示

登录工作正常。我得到一个不记名令牌,authorizationHeader 看起来很好。但是调用client.getPrincipal(authorizationHeader)失败了io.micronaut.http.client.exceptions.HttpClientResponseException: Unauthorized

任何线索出了什么问题?

0 投票
1 回答
2237 浏览

kotlin - 客户发布多部分表单数据

我正在尝试创建一个用于测试控制器的客户端

控制器

客户端

考试

错误

关于如何摆脱该错误的任何线索?

0 投票
3 回答
4853 浏览

kotlin - 使用 Micronaut HTTP 客户端时,Cloud Run 应用程序响应“503 Service Unavailable”

我的应用程序基于 Micronaut 和 GraalVM (java 11),并简单调用http://httpbin.org/get

当我使用此 Dockerfile 构建应用程序的 docker 映像时:

一切都在我的本地环境中运行。但是,当我将图像推送到 Google Cloud Repository,将其部署到 Cloud Run 并尝试访问端点/api/fb时,它会使容器崩溃,并显示 503 Service Unavailable。

日志中的错误是“请求失败,因为与实例的 HTTP 连接出错。”。当我启用 strace 时,这些是日志:

我尝试使用不同的库进行调用,Java 11 Http 客户端,它可以工作。但是无论我做什么,当我使用 Micronaut Http 客户端时它都不起作用,并且没有任何有用的消息。

我还尝试使用 Java 8,这是 docker 映像(fedora:latest,ubuntu:latest)中的一个不同的 linux 发行版,但它没有帮助。

你知道是什么原因造成的吗?

谢谢你提前回答。