我在spring-cloud中使用feign,我遇到了問題。查詢值包含`{aa%`導致虛假返回的http狀態代碼400
這是我的假客戶端def。
@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
(字符串名稱,字符串...值)。
這意味着如果包含{
的值和第一個值不能被編碼。
我該如何解決這個問題?