前后端参数如何对应

开发环境:

     前端Ionic  后端Mybatis

1.@RequestMapping("/getFields/{keyWord}")

当后台请求映射为这种方式时,参数直接跟在url上。

后台方法:

@RequestMapping("/getFields/{keyWord}")
public List<Student> getFields (@PathVariable("keyWord") String keyWord){
	return ******
}

前台方法:

let keyWord = '参数'
let url = 'getDatas/getFields' + keyWord
this.http.get(url).map(res=>{
	let result = res.json();
	return result;
}).catch(this.handleErrorService);

2. @RequestMapping("/getFields")

参数不是跟在url后面,这时候传参时,就需要注意前后端参数的对应,前端传参时实际上是Json形式的键值对。

后台方法:

@RequestMapping("/getFields")
public List<Student> getFields (String keyWord){
	return ******
}

前台方法:

let keyWord = '参数'
let params: URLSearchParams = new URLSearchParams();
let headers = new Headers({"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"});
let options = {headers:headers};
params.set("keyWord",keyWord);//这里和后台对应
let url = 'getDatas/getFields';
options = Object.assign(options,{search:params});
this.http.get(url,options).map(res=>{
	let result = res.json();
	return result;
}).catch(this.handleErrorService);

总结一下就是:当参数放在url里面时,后台方法中需要加上@PathVariable注解,value要和{ }对应;当参数不是通过url,而是放在一个对象里面时,要注意键值对的key要和后台方法里面的参数对应。

猜你喜欢

转载自blog.csdn.net/wml00000/article/details/83376188