List<String> 如何传参

简介: List<String> 如何传参

分析

在前端中,可以通过不同的方式将参数传递给List。以下是几种常见的方法:

使用JavaScript数组:在前端应用程序中,可以使用JavaScript数组来存储字符串列表。您可以通过将字符串添加到数组中,然后将数组作为参数传递给后端。

var stringList = ["string1", "string2", "string3"];  
// 将数组转换为JSON格式并发送给后端  
var jsonStringList = JSON.stringify(stringList);  
// 使用AJAX或其他HTTP请求方法将JSON字符串发送给后端

使用表单数据:如果您正在使用Web表单,可以将字符串列表作为表单数据的一部分进行传递。您可以在表单中使用多个输入字段来存储字符串,并将其作为参数提交给后端。

<form action="/backend-url" method="POST">  
  <input type="text" name="stringList[]" value="string1">  
  <input type="text" name="stringList[]" value="string2">  
  <input type="text" name="stringList[]" value="string3">  
  <input type="submit" value="Submit">  
</form>

在后端中,您可以接收和处理表单数据,并将其转换为List。

3. 使用JSON数据:如果您正在使用现代Web技术栈(如React、Angular或Vue.js),您可以使用HTTP请求库(如Axios、Fetch等)将JSON数据发送给后端。您可以将字符串列表作为JSON对象的一部分进行传递。

var stringList = ["string1", "string2", "string3"];  
// 将数组转换为JSON格式  
var jsonStringList = JSON.stringify({ stringList: stringList });  
// 使用HTTP请求库将JSON字符串发送给后端  
axios.post('/backend-url', jsonStringList)  
  .then(response => {  
    // 处理响应数据  
  })  
  .catch(error => {  
    // 处理错误  
  });

在后端中,您可以接收和处理JSON数据,并将其转换为List。

这些方法中的选择取决于您的前端技术栈和后端API的实现方式。根据您的具体需求,选择最适合的方式来传递参数给List。

实战

get请求

代码

@GetMapping("/position/data/download")
    Void positionDataDownload(HttpServletResponse response,@RequestParam List<Long> param);

postman

post请求

@PostMapping("/position/data/download")
    Void positionDataDownload(HttpServletResponse response,@RequestBody("param")List<Long> param);

postman

总结

在Spring MVC框架中,可以使用@RequestBody注解将前端传递的List参数绑定到后端的控制器方法参数上。

具体而言,当前端发送一个HTTP请求到后端时,Spring MVC的DispatcherServlet会接收到该请求并将其转发给相应的控制器方法。如果该方法的参数是一个List类型,Spring MVC会自动将请求中的参数值解析为List对象并传递给控制器方法。

在解析List参数时,Spring MVC会将请求参数中的值按照逗号分隔,并将其转换为String类型的列表。例如,如果请求参数中的值为"value1,value2,value3",则Spring MVC会将其解析为一个包含三个元素的List对象。

需要注意的是,为了使用@RequestBody注解,需要在控制器方法的参数前加上@RequestBody注解,并在前端发送请求时将参数值以JSON格式进行传递。例如,可以使用jQuery的$.ajax()方法发送一个POST请求,并将参数值以JSON格式进行传递:

$.ajax({  
  url: '/controller/method',  
  type: 'POST',  
  contentType: 'application/json',  
  data: JSON.stringify(['value1', 'value2', 'value3']),  
  success: function(result) {  
    // 处理响应结果  
  }  
});

在后端控制器方法中,可以使用@RequestBody注解将前端传递的JSON格式的参数值转换为List对象:

@RequestMapping(value = "/controller/method", method = RequestMethod.POST)  
public String method(@RequestBody List<String> params) {  
  // 处理参数并返回结果  
}

其他方法:

当然,除了Spring MVC的@RequestBody注解,还有其他方案可以接收前端传递的List参数。以下是两种可能的方案:

使用@RequestParam注解:在控制器方法中使用@RequestParam注解,并指定参数名为"stringList",即可获取请求中的"stringList"参数值。需要注意的是,请求中的参数值必须是以逗号分隔的字符串。

@RequestMapping(value = "/controller/method", method = RequestMethod.POST)  
public String method(@RequestParam("stringList") List<String> params) {  
  // 处理参数并返回结果  
}

使用@PathVariable注解:在控制器方法中使用@PathVariable注解,并指定参数名为"stringList",即可获取URL中的占位符参数值。需要注意的是,URL中的占位符必须是以逗号分隔的字符串。

@RequestMapping(value = "/controller/{stringList}", method = RequestMethod.GET)  
public String method(@PathVariable("stringList") List<String> params) {  
  // 处理参数并返回结果  
}

这些方案都可以将前端传递的List参数转换为后端控制器方法中的参数。具体选择哪种方案取决于请求的媒体类型、请求参数的位置以及实际业务需求。

目录
相关文章
|
6天前
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
2月前
|
XML Java API
List与String相互转化方法汇总
本文汇总了List与String相互转化的多种方法,包括使用`String.join()`、`StringBuilder`、Java 8的Stream API、Apache Commons Lang3的`StringUtils.join()`以及Guava的`Joiner.on()`方法实现List转String;同时介绍了使用`split()`方法、正则表达式、Apache Commons Lang3的`StringUtils.split()`及Guava的`Splitter.on()`方法实现String转List。
List与String相互转化方法汇总
|
3月前
|
XML Java API
List与String相互转化的方法有哪些
摘要:本文概述了Java中List转换为String及反之的多种策略。使用`String.join()`可简洁地连接List元素;`StringBuilder`提供灵活控制;Java 8 Stream API收集器简化操作;Apache Commons Lang3的`StringUtils.join()`和Guava的`Joiner.on()`支持外部库的高效转换。
|
4月前
|
Java API
将`List<String>`转换为`List<Long>`
将`List<String>`转换为`List<Long>`
|
5月前
|
NoSQL Java Redis
redis-学习笔记(string , hash , list , set , zset 前置知识)
redis-学习笔记(string , hash , list , set , zset 前置知识)
28 0
redis-学习笔记(string , hash , list , set , zset 前置知识)
|
5月前
|
NoSQL Java Unix
Redis基础操作 String List
Redis基础操作 String List
36 0
|
5月前
|
JSON 数据格式
使用 Gson 将 Map、List等转换为json string
使用 Gson 将 Map、List等转换为json string
65 0
|
5月前
|
存储 NoSQL Java
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
93 0
|
5月前
|
前端开发 Java 测试技术
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
把List<对象>转变<String,List<对象>>形式,k为判断的值,v为k重复的数据。
31 0
|
8天前
|
Java 索引
java基础(13)String类
本文介绍了Java中String类的多种操作方法,包括字符串拼接、获取长度、去除空格、替换、截取、分割、比较和查找字符等。
20 0
java基础(13)String类