下面就来详细讲解“Spring MVC-@RequestMapping注解详解”的完整攻略。
什么是Spring MVC @RequestMapping注解
@RequestMapping
是 Spring MVC 框架中最常用的注解之一,它可以用于方法上,用于指定 HTTP 请求的 URI,或者指定请求的方法 (GET、POST、PUT、DELETE 等)。
@RequestMapping基本用法
以下是一个基本的 @RequestMapping
示例:
@Controller
public class MyController {
@RequestMapping("/helloWorld")
public ModelAndView helloWorld() {
ModelAndView mav = new ModelAndView("helloWorld");
mav.addObject("message", "Hello World!");
return mav;
}
}
上述代码中的 @RequestMapping("/helloWorld")
注解表示的是 /helloWorld
路径的请求会被映射到 helloWorld()
方法上。
@RequestMapping指定HTTP请求方法
如果你需要指定请求处理方法要处理哪些 HTTP 请求方式,可以使用 @RequestMapping
注解的 method
属性来指定。例如,如下代码:
@Controller
@RequestMapping("/my")
public class MyController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public ModelAndView hello() {
ModelAndView mav = new ModelAndView("hello");
mav.addObject("message", "Hello World!");
return mav;
}
@RequestMapping(value = "/hi", method = RequestMethod.POST)
public ModelAndView hi() {
ModelAndView mav = new ModelAndView("hi");
mav.addObject("message", "Hi World!");
return mav;
}
}
上述代码中的 hello()
方法会映射到 HTTP GET 方法,在 URI /my/hello
上。而 hi()
方法会映射到 HTTP POST 方法,在 URI /my/hi
上。
@RequestMapping指定URL路径变量
有时候你需要从 URL 中得到某些参数,比如查询字符串或路径变量。这时你可以在具体处理方法中添加相应的参数,Spring MVC 会自动将这些参数绑定到你指定的变量中。
例如,如下代码:
@Controller
@RequestMapping("/my")
public class MyController {
@RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
public ModelAndView userInfo(@PathVariable("id") int id) {
ModelAndView mav = new ModelAndView("userInfo");
mav.addObject("id", id);
return mav;
}
}
上述代码中的 userInfo()
方法上添加了 {id}
路径变量,并使用 @PathVariable("id")
注解来声明该变量。这个变量可以用来处理匹配 http://localhost:8080/my/user/1
这样的请求,并把 1
绑定到 int id
变量中。
另一个用例比较常见的情况是查询字符串参数。例如,如下代码:
@Controller
@RequestMapping("/my")
public class MyController {
@RequestMapping(value = "/user", method = RequestMethod.GET)
public ModelAndView userInfo(@RequestParam(name = "id", required = true) int id) {
ModelAndView mav = new ModelAndView("userInfo");
mav.addObject("id", id);
return mav;
}
}
上述代码中的 userInfo()
方法上添加了 id
请求参数,并使用 @RequestParam
注解来声明该参数。请求参数名称为 id
,且必须存在 (required = true
),值将被转化成 int
类型,并注入进来。
总结
@RequestMapping
注解是 Spring MVC 框架中最基本、最常用的注解之一。通过它,我们可以轻松地指定 HTTP 请求 URI、请求方法和路径变量等。通过以上两个示例,我们可以看到 @RequestMapping
注解的基本用法。
希望这篇对 Spring MVC @RequestMapping
注解的详解能帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring MVC-@RequestMapping注解详解 - Python技术站