前端传递数据的方式不同,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接收数据的方式