Симулируйте использование QueryMap с POJO - PullRequest
0 голосов
/ 26 апреля 2018

Я нашел в FEIGN-README , что я могу делать такие вещи, как:

interface MarketDataRestClient {
    @RequestLine("GET /api/v1/depth")
    fun getOrderBook(@QueryMap orderBookQuery: OrderBookQuery) : OrderBook
}

OrderBookQuery:

data class OrderBookQuery(val symbol: String, val limit: Int? = 100)

И Feign должен генерировать параметры запроса: /api/v1/depth?symbol={symbol}&limit={limit}

К сожалению, все, что я получаю, это:

Exception in thread "main" java.lang.IllegalStateException: QueryMap parameter must be a Map: class OrderBookQuery
at feign.Util.checkState(Util.java:128)
at feign.Contract$BaseContract.parseAndValidateMetadata(Contract.java:126)
at feign.Contract$BaseContract.parseAndValidatateMetadata(Contract.java:64)
at feign.ReflectiveFeign$ParseHandlersByName.apply(ReflectiveFeign.java:146)
at feign.ReflectiveFeign.newInstance(ReflectiveFeign.java:53)
at feign.Feign$Builder.target(Feign.java:198)
at feign.Feign$Builder.target(Feign.java:194)

1 Ответ

0 голосов
/ 27 апреля 2018

Эта функция будет доступна в 9.7. Текущая опубликованная версия, на момент написания этого ответа, 9.6. Если вы не хотите ждать, клонируйте репозиторий и запустите сборку проекта.

...