![](/img/trans.png)
[英]Why do I have ambiguous handler methods mapped for HTTP path in my Spring Boot Rest Data Application?
[英]Error: Ambiguous handler methods mapped for HTTP path in spring data rest
这是代码:
@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);
}
}
您的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}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.