JAVA怎么接收前端传的数组

ID:18197 / 打印
java提供三种接收前端数组的方法:使用@requestbody注解绑定json数组到java对象(list);使用httpservletrequest直接访问http请求body,提取json数组;使用jackson库将json数组映射到java对象(integer[])。

JAVA怎么接收前端传的数组

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

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

1. 使用 @RequestBody

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

立即学习“Java免费学习笔记(深入)”;

示例代码:

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<Integer> 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     } }
上一篇: java中怎么输入2维数组
下一篇: java数组里怎么倒序输出

作者:admin @ 24资源网   2024-11-26

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。