如何解决如何从 Micronaut 应用程序中的库注入 HTTP 客户端?
我有一个到其他服务的外部 http 客户端,我已经将它导入到我的 micronaut 应用程序中,但收到一个错误提示:
Caused by: io.micronaut.context.exceptions.NoSuchBeanException: 不存在 [xxx.files.client.micronaut.FilesClient] 类型的 bean。确保 bean 没有被 bean 要求禁用(启用“io.micronaut.context.condition”的跟踪日志记录以检查),如果启用了 bean,则确保将类声明为 bean 并启用注释处理(对于 Java 和Kotlin 的“micronaut-inject-java”依赖项应配置为注解处理器)。
我在应用启动时添加了这些类:
object TransformerApplication {
@JvmStatic
fun main(args: Array<String>) {
Micronaut.build()
.packages(
"xxx.transformer","xxx.files.client.micronaut"
)
.mainClass(TransformerApplication.javaClass)
.start()
}
}
但是在创建时:
@KafkaListener("transformer-group")
class EventsConsumerImpl(private val xlsTransformer: XlsTransformer,private val filesClient: FilesClient,private val workspacesClient: WorkspacesClient) : EventsConsumer {
...
}
我的 http 客户端:
@io.micronaut.http.client.annotation.Client("\${files.url}")
interface FilesClient {
companion object {
const val FILES_TOKEN_KEY = "FILES"
}
@FilesTokenVerification
@Get("\${files.url}/{fileId}")
fun getFile(@PathVariable fileId: String): ByteArray
@FilesTokenVerification
@Patch("\${files.url}/{fileId}/info")
fun updateFileStatus(@PathVariable fileId: String,@Body metadata: Metadata): Metadata
@FilesTokenVerification
@Get("\${files.url}/{fileId}/info")
fun getFileMetadata(@PathVariable fileId: String): Metadata
}```
Can someone explain to me what I'm doing wrong?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。