【发布时间】:2017-12-19 16:22:01
【问题描述】:
所以我正在尝试使用 fetch 发送一些数据。
console.log(results.data);
results.data 是我要发送的内容。上面的代码在控制台中为我提供了以下信息:
[数组[52],数组[52],数组[52],数组[52],数组[52],数组[52], 数组[52]、数组[52]、数组[52]、数组[52]、数组[52]、数组[52]、 数组[52]、数组[52]、数组[52]、数组[1]]
这让我相信我应该期待控制器中有一个String[][]
这是反应代码:
fetch('/device', {
method: 'post',
headers: {
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json'
},
body: JSON.stringify({data : results.data})
}).then(res=>res.json())
.then(res => console.log(res));
和控制器:
@RequestMapping(value= "/deviceIngestion", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody String deviceIngestion (@RequestParam(value = "data[][]") String[][] data) {
return data [0][0];
}
但我在控制台中得到了这个响应:
解决了 Handler 执行导致的异常:org.springframework.web.bind.MissingServletRequestParameterException: Required String[][] parameter 'data[][]' is not present
在尝试了其他一些方法后,我也遇到了这个错误:
“无法读取文档:无法从 [Source: java.io.PushbackInputStream@2f36dd94; line: 1, column: 1] 的 START_OBJECT token↵ 中反序列化 java.lang.String[][] 的实例;嵌套例外是 com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize of java.lang.String[][] out of START_OBJECT token↵ at [Source: java.io.PushbackInputStream@2f36dd94; line: 1, column: 1 ]" 小路 : “/设备摄取” 地位 : 400 时间戳 : 1513693466676 名称
我还尝试在构造函数中创建一个带有ArrayList<String[]> 的类,以替换我在控制器中使用但没有运气的String[][]。
任何帮助将不胜感激,谢谢
【问题讨论】: