JAVA怎么接收前端传的数组

Java提供三种接收前端数组的方法:使用@RequestBody注解绑定JSON数组到Java对象(List);使用HttpServletRequest直接访问HTTP请求body,提取JSON数组;使用Jackson库将JSON数组映射到Java对象(Integer[])。

如何使用 Java 接收前端传来的数组

Java 是一门后端编程语言,用于处理来自前端(通常是使用 JavaScript)传递的数据。接收前端传来的数组有几种方法:

1. 使用 @RequestBody

使用 @RequestBody 注解可以将前端传递的 JSON 数据直接绑定到 Java 对象。对于数组,使用 List 类型来接收。

示例代码:

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ArrayController {

    @PostMapping("/receive-array")
    public void receiveArray(@RequestBody List numbers) {
        // do something with the array
    }
}

2. 使用 HttpServletRequest

使用 HttpServletRequest 可以直接访问 HTTP 请求的 body。

示例代码:

import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ArrayController {

    @PostMapping("/receive-array")
    public void receiveArray(HttpServletRequest request) {
        String jsonArray = request.getReader().lines().collect(Collectors.joining());
        // parse jsonArray into an array
    }
}

3. 使用 Jackson 库

Jackson 库提供了一个 ObjectMapper,可以将 JSON 数据映射到 Java 对象。

示例代码:

import com.fasterxml

.jackson.databind.ObjectMapper; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class ArrayController { private final ObjectMapper objectMapper; public ArrayController(ObjectMapper objectMapper) { this.objectMapper = objectMapper; } @PostMapping("/receive-array") public void receiveArray(String jsonArray) { Integer[] numbers = objectMapper.readValue(jsonArray, Integer[].class); // do something with the array } }