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

作者: java 发布时间: 2019-12-08 浏览: 4867 次 编辑

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 = "/test1")
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 = "/test2")
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;
}