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