Ich benutze Feign in Spring-Cloud, ich habe ein Problem.Query-Wert enthält `{aa%` cause feign zurückgegeben HTTP-Statuscode 400
Dies ist mein Schein Client def.
@FeignClient("food-service")
public interface FoodService {
@RequestMapping(value = {"/food"},method = {RequestMethod.GET})
List<Food> find(@RequestParam("name") String name);
}
foodService.find("{co%%");
Dieser Aufruf wird Statuscode 400 zurückgegeben.
Dann prüfe ich den Code, und ich fand diesen Code in RequestTemplate Klasse:
private String encodeIfNotVariable(String in) {
if (in == null || in.indexOf('{') == 0) {
return in;
}
return urlEncode(in);
}
Verfahren encodeIfNotVariable
in Abfrage genannt (String name, String ... Werte).
Das bedeutet, wenn der Wert {
enthält und im ersten der Wert nicht codiert werden kann.
Wie kann ich das beheben?