у меня есть
@RequestMapping(value ="/getTaxiByPhone",method = RequestMethod.GET)
public @ResponseBody
String getTaxiByPhone(@RequestParam ("phone") String phone){
int count=0;
for (int i=0; i<taxiList.size();i++){
if ((taxiList.get(i).getPhone()).equals(phone)){
count++;
}
}
return "found "+count;
}
@RequestMapping(value ="/getTaxiPhone",method = RequestMethod.GET)
public @ResponseBody
String getAllTaxi(@RequestParam ("id") int id){
return taxiList.get(id).getPhone();
}
@RequestMapping(value ="/getAllTaxi",method = RequestMethod.GET)
public @ResponseBody
List<Taxi> getAllTaxi(){
return taxiList;
}
Например, getTaxi?id=2
возвращен {"taxi_city_id":[55000001,67000001],"taxi_id":1113,"taxi_name":"zxcv","taxi_phone":"+73812999997"}
, но если вы попробуете getTaxiByPhone?phone=+73812999997
вы не найдете никаких объектов, потому что если вы попробуете вернуть параметр телефона со счетом (return "found "+count+" for phone"+ phone;
), вы увидите found 0 for phone 73812999997
. Это означает, что знак "+" потерян при использовании URL-адреса весны.
Я думаю, что это может быть проблема со специальными символами, потому что вы передаете номер телефона с "+" в своем запросе. Запрос запроса + в URL-адресе используется для представления пространства, в котором вы должны его избегать, возможно, с помощью
%2B
getTaxiPhone?id=<id>
right?