升级到micronaut 4后Micronaut消费和生产停止工作

问题描述 投票:0回答:1

在 micronaut 版本 3 上,它工作正常,而迁移到 micronaut 4 时,停止工作

在用

注释的端点中
 @Get("/{someId}/someAction", produces = ["application/some.v1+json"] )

当我调用它(例如邮递员)时,micronaut 在控制台上给我一个错误

io.micronaut.http.codec.CodecException: Cannot encode value [[]]. No possible encoders found for media type: application/vnd.v1+json

这是我的控制器的一部分

@Validated
@Controller("/something")
class SomethingController(@Inject val service: SomeService) {

    @Secured(SecurityRule.IS_AUTHENTICATED)
    @Get("/{someId}/someAction", 
         produces = ["application/some.v1+json"], 
         consumes = ["application/some.v1+json"])
    fun getSomething(
            someId: UUID,
            principal: Principal
    ): List<SomeResource>  {
        principal as MyIdentity
        return service.findAll(someId, principal)
    }

我的服务有更多端点,有没有一种方法可以编写一个编解码器来处理所有这些海关生产和消费?

java kotlin microservices micronaut micronaut-rest
1个回答
0
投票

通过在应用程序 yaml 上添加编解码器,我能够解决我的问题。我想知道是否有另一种方法可以解决这个问题,因为 micronaut 3 支持这个

https://docs.micronaut.io/latest/guide/index.html#consumesAnnotation

© www.soinside.com 2019 - 2024. All rights reserved.