Spring MVC@RequestMapping注释示例
时间:2020-02-23 14:35:56 来源:igfitidea点击:
@RequestMapping是您在springmvc中使用的重要注释之一。
@requestmapping用于将Web请求的映射定义为处理程序方法或者类。
@RequestMappping可以在方法级别或者类级别使用。
我们稍后会看到它的示例。
如果在类级别使用@Requestmapping注释,则它将用于方法级别路径的相对路径。
让我们通过示例来理解:
@RestController @RequestMapping(value = "/countryController") public class CountryController { @RequestMapping(value = "/countries", method = RequestMethod.GET, headers = "Accept=application/json") public List getCountries() { List listOfCountries = countryService.getAllCountries(); return listOfCountries; }
因此,使用URL http://localhost:8080/projectname/countryController/countries将执行GetCountries()方法。
方法级RequestMapping示例:
当我们在方法级别提供@RequestMapping注释时,我们可以调用IT方法级别请求映射。
@RestController public class CountryController { @RequestMapping(value = "/countries", method = RequestMethod.GET, headers = "Accept=application/json") public List getCountries() { List listOfCountries = countryService.getAllCountries(); return listOfCountries; }
因此,使用URL http://localhost:8080/projectname/countries的Web请求将执行getCountries()方法。
Class级RequestMapping示例:
当我们在类级别提供@RequestMapping注释时,我们可以调用IT类级别请求映射。
@RestController @RequestMapping(value = "/countries") public class CountryController { @RequestMapping(method = RequestMethod.POST, headers = "Accept=application/json") public Country addCountry(@RequestBody Country country) { return countryService.addCountry(country); } @RequestMapping(method = RequestMethod.PUT, headers = "Accept=application/json") public Country updateCountry(@RequestBody Country country) { return countryService.updateCountry(country); } }
如果我们注意到,我们没有定义方法级别请求映射在此处,因此当我们命中时,它将自动调用相应的PUT或者POST方法:http://localhost:8080/projectname/countries