首页 > 解决方案 > 如何将 js Map 传入 Spring 控制器

问题描述

我在客户端的 js 脚本中形成了一张地图。我需要将此映射传递给 Spring Controller POST 方法。我尝试了很多方法,但它们不起作用。

地图具有以下结构Map<String, List<String>>{"first question":[["text"]],"second question":[["1","2","3"]]}

我需要在我的 Controller 方法中获取它。我试图通过 fetchAPI 和 Ajax 传递它。使用 JSON.stringify(data) 和不使用,作为数组。但我不在 Controller 中提供数据。如果我使用 @RequestBody,我会收到错误消息“内容类型 'application/x-www-form-urlencoded;charset=UTF-8' not supported”。

@PostMapping(value = "/newQue")
    public String createQue(@RequestBody Map<String, List<String>> data){

        data.values().stream().forEach(System.out::println);
}

如果我使用@RequestParam 或@ModelAttribute,我不会得到数据,我只会得到csrf 代码。如果需要更多信息,我提供。

标签: javascriptjsonspring-boot

解决方案


推荐阅读