问题标签 [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.
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
异常。
任何方向/帮助将不胜感激。
跑步:
micronaut - Micronaut 中用于文件挂载的属性占位符
我试图提供秘密作为财产占位符。例如,对于 mongobd uri,我希望用户名和密码来自卷上的秘密。这可能吗?例如,对于下面的 kubernetes 配置,我可以提供的占位符是${kubernetes.client.secrets.paths}
,但我需要从“路径”内部访问嵌套的秘密。这个问题有意义吗?
java - 如何使用 Micronaut 客户端注释映射 errorType
如何使用 Micronaut 客户端注释映射 errorType,如果以编程方式我们可以提供主体类型和 errorType 对象以防成功和失败。
以编程方式调用客户端:
使用注解调用客户端
java - 无法创建生成的 HTTP 客户端所需的返回类型,因为没有从 ByteBuffer 到类 java.io.File 的 TypeConverter:Micronaut
下面是使用 micronaut 将文件作为休息响应发送到客户端的服务器端代码。
下面是调用上述端点的客户端。
试图检索文件如下: -
获取异常为
io.micronaut.context.exceptions.ConfigurationException:无法创建生成的 HTTP 客户端所需的返回类型,因为没有注册从 ByteBuffer 到类 java.io.File 的 TypeConverter
grails - 在 Grails 4 中使用 Micronaut HTTP 客户端进行参数编码
在 Grails 4.0.1 应用程序中,我使用 Micronaut HTTP 客户端调用外部 Web 服务。参数会自动 url 编码为 UTF-8。如何强制编码为 Windows-1252?
kotlin - Micronaut 声明式客户端,每个环境具有基本 URL
我希望能够根据我是在本地开发环境还是生产环境中使用 Micronaut 的声明式客户端来访问不同的端点。
我将客户的基本 uri 设置为application.dev.yml
:
阅读 Micronaut 的文档,他们让开发人员跳过了很多圈,以将动态值输入到实际的客户端中。他们实际上很混乱。所以我创建了这样的配置:
但正如您所看到的,这实际上并没有从 中读取任何值application.yml
,它只是将 const 值设置为类上的静态值。我希望该BASE_URL
值根据我所处的环境是动态的。
为了使用这个类,我创建了一个这样的声明性客户端:
文档显示了一个示例,他们从这样构建的配置映射中插入值:
@Client()
但是我将如何在注释中进行这项工作?
在该示例中,它们没有显示如何bintray
定义/注入/等。这似乎与@Value()
注释使用的语法相同。我也尝试过使用它,但我尝试使用的每个值最终都是null
.
这非常令人沮丧,但我确信我错过了一个让这一切正常工作的关键部分。
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。
kotlin - 安全控制器的测试
我有以下我正在尝试测试的控制器
我的测试如下所示
登录工作正常。我得到一个不记名令牌,authorizationHeader 看起来很好。但是调用client.getPrincipal(authorizationHeader)
失败了io.micronaut.http.client.exceptions.HttpClientResponseException: Unauthorized
任何线索出了什么问题?
kotlin - 客户发布多部分表单数据
我正在尝试创建一个用于测试控制器的客户端
控制器
客户端
考试
错误
关于如何摆脱该错误的任何线索?
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 发行版,但它没有帮助。
你知道是什么原因造成的吗?
谢谢你提前回答。