resultFul API 传参总结,params和body的区别

1.resultful风格

1.1定义:

resultful是一种应用程序的设计风格和开发方式,基于HTTP,可使用XML格式或者JSON格式定义。而由于JSON可以直接被JavaScript读取,所以用JSOSN格式的resultful API更简单,可读性更强,更好用。

1.2 http的请求方式有:

  • GET:从服务器获取一项或者多项数据(查--select)

  • POST:在服务器新建一个资源(增-create)

  • PUT:在服务器更新所有资源(改--update)

  • PATCH:更新部分属性(改--update)

  • DELETE:从服务器删除资源(删--delete)

2.请求的传参方式

2.1GET请求:

(1)适合向服务器发送数据量较小的请求;比如,查询操作;

(2)请求参数放在url中,用问号?分割参数,有多个参数时,用&连接;

(3)params里的参数会被放到url中,所以get请求时的参数添加在params里。

【方式一】
//不传递参数
export function userList(){
  return request({
    url:'/sys/sysUser',
    method:'GET'
  })
}
​
【方式二】  带一个参数,参数拼接在url后边
export function userList(id){
    return request({
        url:`/sys/userList/${id}`, 
        //或者这种 url: '/sys/userList/'+ id
        method: 'GET'
    })
}
​
【方式三】带对象形式参数,参数添加在params里
export function userList(query){
    return request({
        url:'/sys/userList',
        method:'GET',
        params: query
    })
}

2.2post请求

(1)适合向服务器发送数据量较大的请求,比如新增(添加)、上传文件等等

(2)参数不会放在url中

(3)body的参数不会放在url,所以post请求时的参数添加在body里

//post请求:参数放在body中
​
export function addUser(data){
    return request({
        url:'/sys/sysUser',
        method: 'POST',
        data: data
    })
}

2.3 PUT 请求

//put请求:参数放在body中
export function updateUser(data){
    return request({
        url:'/sys/sysUser',
        method: 'PUT',
        data: data
    })
}

2.5 DELETE 请求

【方式一】
//删除单挑数据时,参数id拼接在url后边
export function delUserById(id){
    return request({
        url:`/sys/sysUser/${id}`,
        method:'DELETE',
    })
}
​
【方式二】
//当后端使用@RequestParam时:
//删除多条数据的时候,参数idList放在params里边,且前端在传参之前要注意转换一下:
      // let ids = this.sels.map((item) => item.id)
      // let params = new URLSearchParams()
      // params.append('idList', ids)
​
export function delUser(idList){
    return request({
        url:''/sys/sysUser',
        method:'DELETE',
        params:idList
    })
}
​
【方式三】
//当后端使用@RequestBody时(如:@RequestBody List<String> idList):
//@RequestBody主要用来接收前端传递给后端的json字符串数据(请求体中的数据)
//参数idList放在data里边,前端无需转换,直接传数组就好:
​
export function delUser(idList){
    return request({
        url:''/sys/sysUser',
        method:'DELETE',
        data:idList
    })
}
​
​

3.params和body的区别

3.1 params :

(1)params 设置的参数,请求时,url中问号?后的参数会携带到请求的接口链接上

(2)前端通过params传递-----后端:@RequestParam,接收的是key-value里面的参数。

3.2body

(1)body里设置的参数,是接口真正请求时发送的参数

(2)前端通过body传递-----后端:@RequestBody

(3)这里需要注意设置一下请求头的格式:header:Content-Type=application/json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值