在进行post、get、put、delete方式中,其中get可以使用params或者直接在url/值,而在post、put、delete中可以写data、params或者在url/值的方式进行传输,那么各种传输方式的对应后端写法如下:
1、params方式:
前端代码:
export function updateCartCount(id,quantity){
return request({
url:'/cart/update/quantity',
method:'post',//put
params:{id:id,quantity:quantity}
})
}
那么后端可以使用如下方式来获取:
@ApiOperation("更新购物车中商品的数量")
@RequestMapping(value="/update/quantity",method = RequestMethod.POST)//put
public CommonResult updateQuantity(@RequestParam Long id,@RequestParam Integer quantity){
Boolean result = omsCartItemService.updateQuantity(id,quantity);
if(result){
return CommonResult.success(result);
}else{
return CommonResult.failed();
}
}
2、data方式:
data方式如果是一个对象,那么需要顶一个class来对应json对象中的变量值,而这个对象需要通过@RequestBody来标识,如:
前端代码:
export function deleteCart(ids){
return request({
url:'/cart/delete',
method:'delete',
data:ids
})
}
后端代码:
/**
* 传递数组
* @param ids
* @return
*/
@ApiOperation("更新购物车中商品的数量")
@RequestMapping(value="/delete",method = RequestMethod.DELETE)
public CommonResult deleteCart(@RequestBody List<Long> ids){
Boolean result = omsCartItemService.delCarts(ids);
if(result){
return CommonResult.success(result);
}else{
return CommonResult.failed();
}
}
以上是传递一个Long的数组,因此前端直接通过data来对应数组即可
3、url/值方式:
前端代码
export function deleteCart(id){
return request({
url:'/cart/delete/'+id,
method:'delete'
})
}
后端代码:
/**
* @param id
* @return
*/
@ApiOperation("更新购物车中商品的数量")
@RequestMapping(value="/delete/{id}",method = RequestMethod.DELETE)
public CommonResult deleteCart(@PathVariable Long id){
Boolean result = omsCartItemService.delCarts(id);
if(result){
return CommonResult.success(result);
}else{
return CommonResult.failed();
}
}