axios异步访问后台 @RequestParam 获取参数 HTTP Status 400 - Required String parameter 'xx' is not prese
Posted 梓★鸿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axios异步访问后台 @RequestParam 获取参数 HTTP Status 400 - Required String parameter 'xx' is not prese相关的知识,希望对你有一定的参考价值。
axios 异步请求三种方式
1、Content-Type: application/json
后台使用@RequestBody
获取参数
import axios from ‘axios‘ let data = {code:‘123‘,name:‘yyyy‘}; axios.post(`${this.$url}/test/testRequest`,data) .then(res=>{ console.log(‘res=>‘,res); })
2、Content-Type: multipart/form-data
后台使用HttpServletRequest request
获取参数
import axios from ‘axios‘ let data = new FormData(); data.append(‘code‘,‘1234‘); data.append(‘name‘,‘yyyy‘); axios.post(`${this.$url}/test/testRequest`,data) .then(res=>{ console.log(‘res=>‘,res); })
3、Content-Type: application/x-www-form-urlencoded
import axios from ‘axios‘ import qs from ‘Qs‘ let data = {‘code‘:‘234‘,‘name‘:‘yyyy‘}; axios.post(`${this.$url}/testRequest`,qs.stringify({ data })) .then(res=>{ console.log(‘res=>‘,res); })
后台接收参数写法
@PostMapping("testRequest")
public String resetPwd( String code, String name) {
System.out.println(code); return "xxx"; }
如果使用@RequestParam 则需要这样写
@PostMapping("testRequest") public String testRequest(@RequestParam(value = "code",required = false) String code, @RequestParam(value = "name", required = false) String name) { System.out.println(code); return "dfdfdfd"; }
总结:
application/x-www-form-urlencoded请求是表单请求,可以用@RequestParam一个一个获取参数,当Content-Type == application/json 前端传来的是json串,用@RequestParam是获取不到的,需要用@RequestBody将json串华为对
以上是关于axios异步访问后台 @RequestParam 获取参数 HTTP Status 400 - Required String parameter 'xx' is not prese的主要内容,如果未能解决你的问题,请参考以下文章
Vue axios异步获取后台数据alert提示undefined
vue中axios发送post请求,后端(@RequestParam)接不到参数
vue--axios使用post方法与后台进行异步传值是报错POST http://localhost:8080/api/AddEmployeeApi 405 (METHOD NOT ALLOWED)