POST @RequestParam Map<String, String> in Spring MVC returns 空映射

POST @RequestParam Map<String, String> in Spring MVC returns empty map

我有以下方法:

@Controller
public class InterfaceController extends MasterController
{
    @PostMapping(value = "/interface") 
    @ResponseBody
    public String incomingPost(@RequestParam Map<String, String> queryMap)
    {
        System.out.println("Map: " + new Gson().toJson(queryMap));
        return "Raw string to return.";
    }
}

当我向 /interface 发出 POST 请求时,我得到了一个成功的 200 响应,其中包含我想要 return 的虚拟字符串,但地图未填充我的参数:

Map: {}

为什么?

如果您将所有参数作为 url 的一部分传递,@RequestParam 会起作用。

如果您在请求正文中传递数据,则必须使用

@RequestBody Map<String, Object> queryMap