在前端使用Axios发送请求时,可以通过不同的方法来携带参数,常见的方法有:
- 查询参数(Query Parameters): 通过URL的查询字符串传递参数。
- 请求体(Request Body): 使用POST或PUT方法发送数据。
后端在Spring Boot中可以通过@RequestParam
、@RequestBody
以及@PathVariable
来接收不同位置的参数:
@RequestParam
: 获取查询参数或表单数据。@RequestBody
: 获取请求体中的数据(如JSON)。@PathVariable
: 获取URL中的路径变量。
以下是一些示例代码:
前端Axios请求:
// 查询参数
axios.get('http://localhost:8080/api/items', {
params: {
id: 123
}
});
// 请求体(发送JSON数据)
axios.post('http://localhost:8080/api/items', {
name: 'Item Name',
description: 'Item Description'
});
后端Spring Boot控制器:
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api")
public class ItemController {
// 通过查询参数接收
@GetMapping("/items")
public String getItemById(@RequestParam int id) {
// ...
}
// 通过路径变量接收
@GetMapping("/items/{id}")
public String getItemById(@PathVariable int id) {
// ...
}
// 通过请求体接收JSON数据
@PostMapping("/items")
public String createItem(@RequestBody Item item) {
// ...
}
static class Item {
private String name;
private String description;
// Getters and setters
}
}
在这个示例中,前端使用Axios发送请求,后端的Spring Boot控制器通过注解@RequestParam
、@RequestBody
以及@PathVariable
来接收参数。