Axios post两种请求方式与@RequestBody和@RequestParam接收

本文详细介绍了在使用axios进行POST请求时,data类型和params类型的区分,以及如何通过@RequestBody和@RequestParam处理前后端交互。着重讲解了这两种方式在不同场景下的使用和接收参数的API注解。
摘要由CSDN通过智能技术生成

一个请求可以分为请求头和请求体,正常的get请求,请求参数是放在请求头中,比如:
https://cn.bing.com/search?q=get 问号后的q是请求的key,等号后边的get是请求value。

一.data类型传参

而post请求一般把请求参数放在请求体中,使用axios发送post请求正常使用方式为

axios.post('/user', {firstName: 'Fred',lastName: 'Flintstone'}).then(()=>{})

这种对应的其实是axios的data类型

this.$axios({
   url: '/user/login' ,
   method: 'post',
   headers: {
      'Content-Type': 'application/json'
   },
   data:{
      username: this.user,
      pwd: this.pwd
   }
}).then(() => {
})

此种方式,后端需要使用@RequestBody +实体类来接收。

二.params类型传参

上述的data可以换成params类型传参

this.$axios({
   url: '/user/login' ,
   method: 'post',
   headers: {
      'Content-Type': 'application/json'
   },
   params:{ //注意这里
      username: this.user,
      pwd: this.pwd
   }
}).then(() => {
})

这种方式其实和get请求类似,把请求参数放到了请求头中,
http://127.0.0.1/user/login?username=admin&pwd=1234
所以这种需要使用@RequestParam来接收参数

三.@RequestBody和@RequestParam

@RequestParam:

一般用来处理请求头中的参数,用来处理Content-Type= application/x-www-form-urlencoded编码的内容

@RequestBody:

一般用来处理请求体中的参数,Content-Type不等于 application/x-www-form-urlencoded
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值