java - Spring Boot 伪装异常
问题描述
我正在尝试使用 application/x-www-form-urlencoded 发出 API 请求。
这是我的假客户:
@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
解决方案
您是否忽略了spring-cloud-starter-feign
依赖项?
推荐阅读
- python - 如何理解 apply 函数来计算 pandas 中使用的加权平均值?
- c++ - 如何释放 new[] 分配的内存?
- javascript - 如何通过json_encode重定向php页面
- mysql - 需要帮助连接 SQL
- c# - 使用 c# 与 java/c++ 比较的 grpc 的性能基准数
- postgresql - 等待状态显示缓冲区引脚
- c - 当 xTicksToWait = portMAX_DELAY 时,xQueueReceive 会失败吗?
- python - python'jwt'模块没有属性'encode'
- java - 限制用户在 java swing 中打开的 jframe 不超过 1 个
- java - 为什么不触发 Firebase 中的 onDisconnect?