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
我有以下方法:
@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