springboot接收applicationx-www-form-urlencoded类型的请求,获取不到数据

it2022-05-05  142

接收application/x-www-form-urlencoded类型的请求,我的controller是如下处理

@PostMapping("/insert") @ResponseBody private ResultVO insert1(@RequestParam(value = "imei") String imei,@RequestParam(value = "data") String data) {}

然后获取到imei和data是null

然后了解到x-www-form-urlencoded的请求是json的数据,应该如下处理

private ResultVO insert1(@RequestBody String body) {}

获取到的body是imei=11111112&data=1,2,3,4,5,6,7;1,2,3,4,5,6,7

因为数据比较少,我把","转成“,”,";"转成“;”,就可以拼凑成为imei=1&data=1,2,3,4,5,6,7;1,2,3,4,5,6,7

让后字符串处理可以得到imei和data

后面我发现一种更好的方法:

@PostMapping("/insert") @ResponseBody private ResultVO insert1(@RequestParam Map<String, String> params) {}

获取数据直接

String data=params.get("data"); String imei=params.get("imei");

可以正确解析x-www-form-urlencoded请求的参数


最新回复(0)