这是代码:
@Import(Appconfig.class)
@RestController
//@RequestMapping("/api/destination/find")
public class RestApi01_Controller {
@Autowired
public CountryRepo Country_Repository;
@Autowired
public CityRepo City_Repository;
@Autowired
public AirportRepo Airport_Repository;
@Autowired
public ResortRepo Resort_Repository;
@RequestMapping(value="/api/destination/find/{city}", method=RequestMethod.GET)
public List<Master_City> getCity(@PathVariable String city) {
return City_Repository.findByCityLikeIgnoreCase(city);
}
@RequestMapping(value="/api/destination/find/{airportname}", method=RequestMethod.GET)
public List<Master_Airport> getAirportname(@PathVariable String airportname) {
return Airport_Repository.findByAirportnameLikeIgnoreCase(airportname);
}
@RequestMapping(value="/api/destination/find/{resortname}", method=RequestMethod.GET)
public List<Master_Resort> getResortname(@PathVariable String resortname) {
return ResortRepository.findByResortnameLikeIgnoreCase(resortname);
}
}
答案 0 :(得分:0)
您的REST端点基本上指向相同的URI模式。
以前两个为例,
/api/destination/find/{city}
和
/api/destination/find/{airportname}
由于{city}和{airportname}是占位符,并且URI都是HTTP GET方法,因此当调用/api/destination/find/london
时,Spring无法确定要使用哪个API。
而不是这个,请使用请求参数。像这样的东西
/api/destination/find?airport={airportname}
和
/api/destination/find?city={city}