在 get 方法中传递二维数组

问题描述

我必须传递一个二维整数数组才能获得 REST 调用

示例:[[1,2,3],[5,10,11]]

我可以通过在参数中单独输入数据来传递它

示例:http://localhost:1136/demo?x=3,4,5&x=10,11,12

但我希望它像

?x=[[1,11]]

任何建议

解决方法

您可以像这样定义 @RequestParam(value= "x") String[][]

@GetMapping(value = "/demo")
public void demo(@RequestParam(value= "x") String[][] array2d) {
    // You will get: array2d = [[3,4,5],[10,11,12]]
}

注意:您可能会得到 RFC 7230 和 RFC 3986 中定义的有效字符错误。

您可以在 application.properties 文件中添加如下内容:

tomcat.relaxed-query-chars="|,{,},[,]"

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...