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

1. url地址栏中传参

以?分割URL和传输数据,参数之间以&相连,

如:localhost:8080/user/?id=2&userName="王慢慢"&password="123655"

发送

接收

    /**
     *
     *增加与修改的区别就是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 提交数据的方式了。浏览器的原生 <form\> 表单,如果不设置 enctype 属性,那么默认就会以application/x-www-form-urlencoded方式提交数据。在postman中对应的就是post方式下的x-www-form-urlencoded。
 网络接口请求测试工具

下面效果相同

                       

国内的一款软件

在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

接收

因为接收的是类对象,在接收时需要使用@RequestBody 包裹参来接收

  /**
   *增加与修改的区别就是id是否为空,id为空是增加,id不为空是修改
   * @param user
   * @return
   */
  @PostMapping("/user")
    public User post(@RequestBody User user){
        return userService.save(user);
    }

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值