[SpringMVC]@PathVariable ,@RequestParam,@RequestBody
程序员文章站
2022-04-27 20:27:33
...
@PathVariable 映射的是url地址的参数
//RESTful风格url上的参数通过{}点位符绑定
//点位符参数名与方法参数名不一致时,通过@PathVariable绑定
@RequestMapping("/item/{id}")
@ResponseBody
public Item testRestful(@PathVariable("id") Integer ids) {
Item item = itemService.getItemById(ids);
return item;
}
如http://localhost:8080/item/2
@RequestParam映射的是url地址?号后面的请求参数
@RequestMapping("/itemEdit")
public String itemEdit(@RequestParam(value="id",required=true,defaultValue="1") Integer ids,Model model) {
Item item = itemService.getItemById(ids);
model.addAttribute("item", item);
return "itemEdit";
}
如http://localhost:8080/itemEdit?id=3
@RequestBody呢?
@RequestBody是作用在形参列表上,用于将前台发送过来固定格式的数据【xml 格式或者 json等】封装为对应的 JavaBean 对象,封装时使用到的一个对象是系统默认配置的 HttpMessageConverter进行解析,然后封装到形参上。
@RequestMapping("/login")
@ResponseBody
public Object login(@RequestBody User loginUuser, HttpSession session) {
user = userService.checkLogin(loginUser);
session.setAttribute("user", user);
return new JsonResult(user);
}
可以省去在后台将json转成java对象。不过在使用的时候,要注意两边的名称要相同,并且前台到后台必须是json格式的
参数必须是post方式提交的,不能是url查询。
推荐阅读
-
SpringMVC中@RequestParam注解作用
-
springmvc 获取@Requestbody转换的异常处理方式
-
springMvc入门 三.Scope注解与@RequestParam注解
-
SpringMVC @RequestBody Map 入参及程序获取逻辑
-
SpringMVC 中@RequestParam注解、@RequestHeader注解、@RequestBody注解请求
-
springmvc注解RequestBody和ResponseBody
-
SpringMVC的RequestBody注解
-
@RequestParam、@RequestBody、@ResponseBody、@RestController
-
@requestBody 与@requestparam区别
-
(转)@RequestParam、@RequestBody和@ModelAttribute区别