#|post传参的方式及接收参数的方法

1. url地址栏中传参 以?分割URL和传输数据,参数之间以&相连,
如:localhost:8080/user/?id=2&userName="王慢慢"&password="123655"
发送
#|post传参的方式及接收参数的方法
文章图片

【#|post传参的方式及接收参数的方法】#|post传参的方式及接收参数的方法
文章图片

接收

/** * *增加与修改的区别就是id是否为空,id为空是增加,id不为空是修改 * @param user * @return */ @PostMapping("/user") public User post( Long id, @RequestParam String userName, @RequestParam String password ){ User user = new User(); user.setId(id); user.setUserName(userName); user.setPassword(password); return userService.save(user); }

或者用User类对象作为参数接受
/** * *增加与修改的区别就是id是否为空,id为空是增加,id不为空是修改 * @param user * @return */ @PostMapping("/user") public User post(User user){return userService.save(user); }

2. application/x-www-form-urlencoded 发送
这应该是最常见的 POST 提交数据的方式了。浏览器的原生 表单,如果不设置 enctype 属性,那么默认就会以application/x-www-form-urlencoded方式提交数据。在postman中对应的就是post方式下的x-www-form-urlencoded。
网络接口请求测试工具:#|post传参的方式及接收参数的方法
文章图片
#|post传参的方式及接收参数的方法
文章图片

#|post传参的方式及接收参数的方法
文章图片

下面效果相同
#|post传参的方式及接收参数的方法
文章图片
#|post传参的方式及接收参数的方法
文章图片

#|post传参的方式及接收参数的方法
文章图片
国内的一款软件
#|post传参的方式及接收参数的方法
文章图片

在jQuery中,ajax请求,Content-Type的默认值就是application/x-www-form-urlencoded; charset=utf-8
接收
/** * *增加与修改的区别就是id是否为空,id为空是增加,id不为空是修改 * @param user * @return */ @PostMapping("/user") public User post( Long id, @RequestParam String userName, @RequestParam String password ){ User user = new User(); user.setId(id); user.setUserName(userName); user.setPassword(password); return userService.save(user); }

或者用User类对象作为参数接受
/** * *增加与修改的区别就是id是否为空,id为空是增加,id不为空是修改 * @param user * @return */ @PostMapping("/user") public User post(User user){return userService.save(user); }

2. application/json 发送
在postman中,可以选择body中的raw选项,然后在右边选择JSON
#|post传参的方式及接收参数的方法
文章图片

#|post传参的方式及接收参数的方法
文章图片

接收
因为接收的是类对象,在接收时需要使用@RequestBody 包裹参来接收
/** *增加与修改的区别就是id是否为空,id为空是增加,id不为空是修改 * @param user * @return */ @PostMapping("/user") public User post(@RequestBody User user){ return userService.save(user); }


    推荐阅读