SpringMVC中@RquestBody和PathVariable的区别

@RquestBody

通常用来处理contentType=application/json, 即客户端向服务器发送json字符串格式时,后台方法必须要使用@RequestBody来解析并绑定到方法参数上。

@RequestMapping(value = "person/login")

@ResponseBody

public Person login(@RequestBody Person person) {//将请求中的mydata写入Person对象中

   return person;

@PathVariable

当使用@RequestMapping样式映射时, 即 Url/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。

//新增购物车   

   @RequestMapping("cart/addCart/{productId}/{num}")

      public String saveCart(@PathVariable String productId,

                 @PathVariable Integer num,HttpSession session){

           String userId=(String) session.getAttribute("userId");

           Product p=productService.queryPById(productId);

           Cart _cart=new Cart();

           _cart.setNum(num);

           _cart.setUserId(userId);

           _cart.setProductId(productId);

           _cart.setProductPrice(p.getProductPrice());

           _cart.setProductName(p.getProductName());

           _cart.setProductImage(p.getProductImgurl());

           //将封装好的cart传递给service新增逻辑

           int sucess=cartService.saveCart(_cart);

           return "redirect:/cart/mycart";

      }

拓展

https://www.cnblogs.com/guoyinli/p/7056146.html

猜你喜欢

转载自blog.csdn.net/qq_40531768/article/details/89287134