zoukankan      html  css  js  c++  java
  • 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请求的参数

  • 相关阅读:
    android: 在fragment中添加actionbar, menu
    Android Context
    Android 在fragment中使用tabhost
    Android 菜单
    centos8 防火墙
    DHCP 原理
    阿里云服务器 linux下载 jdk
    java long值转成时间格式
    Window 中杀死指定端口 cmd 命令行 taskkill
    redis 安装
  • 原文地址:https://www.cnblogs.com/chLxq/p/11821728.html
Copyright © 2011-2022 走看看