欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[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查询。