Java axios与Spring前后端分离传参规范总结
本攻略主要介绍了在Java axios与Spring前后端分离的开发中,如何进行传参规范。
一、传参规范
- 在前后端分离的开发中,一般通过JSON格式传递参数。在发送请求时,需要规范JSON数据的格式,保证后端能够正确解析参数。
以axios请求为例,将参数封装在data属性中,如下:
javascript
axios.post('url', {
data: {
name: '张三',
age: 20
}
}).then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
在Spring中,通过@RequestBody
注解接收JSON格式的参数,如下:
java
@PostMapping("/url")
public void method(@RequestBody Map<String, Object> data) {
String name = (String) data.get("name");
int age = (int) data.get("age");
// ...
}
- 在使用Java axios时,需要通过
axios.defaults.headers.post['Content-Type']
设置请求头的类型为application/json;charset=utf-8
,保证请求发送的数据类型正确。
javascript
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8';
- 在Spring中,默认情况下,不支持跨域请求。因此需要在Controller层添加
@CrossOrigin
注解,来支持跨域请求。
java
@CrossOrigin
@PostMapping("/url")
public void method(@RequestBody Map<String, Object> data) {
// ...
}
二、示例说明
- 通过Java axios向Spring发送Get请求
javascript
axios.get('/url', {
params: {
name: '张三',
age: 20
}
}).then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
在Spring中,通过@RequestParam
注解接收GET请求的参数,如下:
java
@GetMapping("/url")
public void method(
@RequestParam(name = "name") String name,
@RequestParam(name = "age") int age) {
// ...
}
- 通过Java axios向Spring发送Post请求
javascript
axios.post('/url', {
data: {
name: '张三',
age: 20
}
}).then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
在Spring中,通过@RequestBody
注解接收POST请求的参数,如下:
java
@PostMapping("/url")
public void method(@RequestBody Map<String, Object> data) {
String name = (String) data.get("name");
int age = (int) data.get("age");
// ...
}
以上是Java axios与Spring前后端分离传参规范的总结。希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java axios与spring前后端分离传参规范总结 - Python技术站