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

1. 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

接收

@PostMapping(value = "/test")
public String test1(@RequestParam(name = "username") String username,
                    @RequestParam(name = "password") String password) {
    LOGGER.info("收到的参数:username: {}, password: {}", username, password);
    return "leihou";
}

2. application/json

发送

application/json 作为响应头并不陌生,实际上,现在很多时候也把它作为请求头,用来告诉服务端消息主体是序列化的JSON字符串。

//请求数据
var data = {name:'jack',sex:'man'};
//请求数据序列化处理
JSON.stingify(data);

在postman中,可以选择body中的raw选项,然后在右边选择JSON。

在这里插入图片描述

接收

@PostMapping(value = "/test")
public String test2(@RequestBody User user) {
    LOGGER.info("收到的参数:username: {}, password: {}", 
                user.getUsername(), 
                user.getPassword());
    return "leihou";
}

@Data
public class User {
    private String username;
    private String password;
}

版权声明:本文为hermi0ne原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。