java接口入参对象中的某个字段是list,前端怎么传值
时间: 2024-09-16 17:04:01 浏览: 74
Java实体类中Set按照对象的某个字段对set排序
在Java中,如果一个接口的参数期望接收一个List类型的对象,前端通常会采用JSON格式来传输数据。前端框架(如React、Vue、Angular等)会在数据发送之前将List转换为JSON数组。例如,假设你有一个接口`updateBooks(List<Book> books)`,其中`Book`是一个包含`title`, `author`等字段的对象。
前端(JavaScript示例)可能这样操作:
```javascript
// 假设books是一个包含多个Book对象的数组
let booksData = [
{ title: 'Book 1', author: 'Author 1' },
{ title: 'Book 2', author: 'Author 2' }
];
axios.post('/api/update-books', {
books: JSON.stringify(booksData)
}).then(response => {
// 处理响应...
});
```
这里,前端首先创建了一个Book对象的数组,然后使用`JSON.stringify()`将它转换为JSON字符串,因为接口一般需要的是纯文本格式的数据。然后,通过`axios.post()`发送POST请求,将书籍数据附在名为`books`的键下。
在Java服务器端,你需要使用`@RequestBody`注解从请求体中反序列化这个JSON字符串,如Spring Boot示例:
```java
@PostMapping("/update-books")
public void updateBooks(@RequestBody List<Book> books) {
// 解析并操作books列表...
}
```
阅读全文