OpenFeign/feign

feign-kotlin: Decoder type returns "Object" when method is suspending

开放

#2,019 创建于 2023年4月23日

 (6 条评论) (1 个反应) (0 位负责人)Java (1,911 个派生)batch import
help wantedkotlinneeds info

仓库指标

星标
 (9,070 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

Currently using feign-kotlin 12.3 and kotlin 1.8.10 while attempting to use a custom decoder. When my method in the the TestClient is suspending type is printed out as "java.lang.Object" however, when not using suspend it returns the proper type of TestObject. This is currently preventing me from being able to get the proper serializer

Client Snippet:

public interface TestClient  {
    @RequestLine("GET /{uuid}")
    public suspend fun testGet(@Param("uuid") uuid: UUID): TestObject
}

Decoder snippet:

public class CustomDecoder: Decoder {
    override fun decode(response: Response, type: Type): Any? {
        if (response.status() != 404 && response.status() != 204) {
                ...
                println(type)
               ...
            }
        } else {
           ...
        }
    }
}

贡献者指南