Я использую симуляцию в весеннем облаке, у меня есть проблема.значение запроса содержит `{aa%` причина feign возвращен http status code 400
Это мой модный клиент.
@FeignClient("food-service")
public interface FoodService {
@RequestMapping(value = {"/food"},method = {RequestMethod.GET})
List<Food> find(@RequestParam("name") String name);
}
foodService.find("{co%%");
этот звонок будет возвращен код состояния 400.
Затем я просматриваю код, и я нашел этот код в классе RequestTemplate:
private String encodeIfNotVariable(String in) {
if (in == null || in.indexOf('{') == 0) {
return in;
}
return urlEncode(in);
}
Метод encodeIfNotVariable
вызывается в запросе (имя String, String ... значения).
Это означает, что если значение содержит {
и в первом случае значение не может быть кодировано.
Как это исправить?