Я пытаюсь написать 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
Я почти наверняка делаю что-то не так, но я немного растерялся в плане того, как выяснить что.Поэтому благодарен за любые указатели.
Большое спасибо,
Edd