springboot接收application/x-www-form-urlencoded類型的請求,獲取不到數據


接收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%2C2%2C3%2C4%2C5%2C6%2C7%3B1%2C2%2C3%2C4%2C5%2C6%2C7

因為數據比較少,我把"%2C"轉成“,”,"%3B"轉成“;”,就可以拼湊成為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請求的參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM