我正在尝试编写一个 Micronaut AWS Groovy Lambda,它使 HTTPS 调用另一个服务。我遵循了 MN Docs 并使用以下方法创建了我的项目:
mn create-function hello-world -lang groovy
这给了我一个骨架“hello-world”项目,其中包含我可以运行的功能测试。
然后我尝试修改 Groovy 函数 ( hello.world.HelloWorldFunction
) 以注入 HTTP 客户端,以在我的函数中调用 API:
import static io.micronaut.http.HttpRequest.GET
@Field @Inject @Client("https://www.googleapis.com/books/v1") RxHttpClient httpClient
Maybe<String> helloWorld() {
httpClient.retrieve(GET("/volumes?q=isbn:0747532699"))
.firstElement()
}
完成此操作后,我现在在运行功能测试时遇到异常:
08:51:25.269 [nioEventLoopGroup-1-5] ERROR
i.m.h.s.netty.RoutingInBoundHandler - Unexpected error occurred:
Failed to inject value for field [httpClient] of class:
hello.world.HelloWorldFunction
Path Taken: HelloWorldFunction.httpClient
io.micronaut.context.exceptions.DependencyInjectionException: Failed to inject value for field [httpClient] of class:
hello.world.HelloWorldFunction
Path Taken: HelloWorldFunction.httpClient
我几乎可以肯定做错了什么,但在如何弄清楚什么方面我有点茫然。因此感谢任何指点。
非常感谢,
埃德