Исключение Spring Boot

Я пытаюсь сделать запрос API с помощью application/x-www-form-urlencoded.

Вот мой фиктивный клиент:

 @Bean
public YandexDelivery yandexDelivery() {
    return Feign.builder()
            .client(new OkHttpClient())
            .encoder(new FormEncoder())
            .decoder(new GsonDecoder())
            .logger(new Slf4jLogger(YandexDelivery.class))
            .logLevel(Logger.Level.FULL)
            .target(YandexDelivery.class, "https://delivery.yandex.ru/api/last/searchDeliveryList");

}

Вот мой интерфейс:

public interface YandexDelivery {
@RequestLine("POST")
@Headers({"Content-Type: application/x-www-form-urlencoded"})
Delivery getDeliveryVariants(Map<String, ?> request);

}

Вот как я звоню:

@Autowired
private YandexDelivery yandexDelivery;

@Override
public Delivery getDeliverysType(String cityFrom, String cityTo, Integer clientId, String deliveryType, Integer height, Integer indexCity, Integer length, Integer senderId, Integer weight, Integer width) {
    DeliveryVariantsModel model = new DeliveryVariantsModel(cityFrom, cityTo, clientId, deliveryType, height, indexCity, length, senderId, weight, width);
    HashMap<String, String> map = new HashMap<>();
    map.put("secret_key", model.getSecretKey());
    map.put("client_id", model.getClientId().toString());
    map.put("sender_id", model.getSenderId().toString());
    map.put("city_from", model.getCityFrom());
    map.put("city_to", model.getCityTo());
    map.put("weight", model.getWeight().toString());
    map.put("length", model.getLength().toString());
    map.put("width", model.getWidth().toString());
    map.put("height", model.getHeight().toString());
    map.put("delivery_type", model.getDeliveryType());
    map.put("index_city", model.getIndexCity().toString());
    return yandexDelivery.getDeliveryVariants(map);
}

И вот моя ошибка:

java.lang.ClassNotFoundException: feign.Request$Body
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
1 209
2

Ответы 2

Вы оставили spring-cloud-starter-feign в зависимости?

Я добавляю эту зависимость. это мне не поможет.

Дима Гуманов 02.02.2019 19:08

У меня такая же проблема. Исправление заключалось в том, чтобы установить правильную настройку зависимостей Spring Cloud для используемой загрузочной версии Spring. Вы можете найти правильную настройку в https://start.spring.io/actuator/info в моем случае для Spring Boot версии 2.1.2.RELEASE мне пришлось использовать spring-cloud.version Greenwich.SR1

Другие вопросы по теме