前端传递数据的方式不同,java 也要使用不同的方式来接收数据。
三种方式
| 前端传入的数据格式 | 后端接收方式 |
|---|---|
| url中的参数 | @PathVariable |
| 用 params 传递数据 | @RequestParam |
| 用 data 传递数据 | @RequestBody |
下面是三个例子。
1. url 中的参数
前端请求地址格式如下
url:'/delete/'+id, method:'post',
如请求的具体地址是 http://localhost:8099/delete/1 。
那么,java 接收参数格式如下,需要用 @PathVariable 来接收
@RequestMapping(value = "/delete/{id}", method = RequestMethod.POST)
public Boolean delete(@PathVariable("id") Integer id)
2. 请求中用 params 传递数据
前端请求地址格式如下
url:'/list/'+id,
method:'get',
params: {
pageNum: 1,
pageSize: 10
}
假如请求的具体地址是 http://localhost:8099/list/1 ,请求的参数是 pageNum 和 pageSize 。
那么,java 接收参数格式如下,需要用 @RequestParam 来接收单个的参数,一个 @RequestParam 接收一个参数。@RequestParam 中客户以设置接收数据的默认值
@RequestMapping(value = "/delete/{id}", method = RequestMethod.POST)
public List<object> list(@PathVariable("id") Integer id,
@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize)
</object>
3. 请求中用 data 传递数据
request payload : 提交的数据是列表。
前端请求地址格式如下
url:'/create',
method:'post',
data: {
name: "手机",
price: 1000,
color: “white”
}
假如请求的具体地址是 http://localhost:8099/create 。
那么,java 接收参数格式如下,需要用 @RequestBody ,并用一个对象来接收数据。
@RequestMapping(value = "/create", method = RequestMethod.POST) public Boolean create(@RequestBody Product product)
使用对象来接收数据时,接收数据的对象其属性的名字需要和前端传过来的数据名字对应。
接收对象 Product 类,是一个实体类,内容如下:
public class Product {
private String name;
private Integer price;
private String Color;
// 省略 get/set 函数
}
标签:
java接收数据的方式