后台接收post请求参数问题

我用一个post请求到url传递参数,url接收参数多了个=
图片说明
图片说明
图片说明
图片说明
这是我的post请求方法

  public static String sendPost(String url, String param) {
        String result = "";
        BufferedReader in = null;
        try {
            URL realUrl = new URL(url);
            URLConnection connection = realUrl.openConnection();
            //设置网络请求时间最多为5秒;
            connection.setConnectTimeout(5000);
          //读取网页请求结果时间为15秒
            connection.setReadTimeout(25000);
            //设置网络请求时间最多为5秒;
            // 设置通用的请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("user-agent",
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            connection.setDoOutput(true);  
            connection.setDoInput(true);  
           //设置请求编码格式
            connection.setRequestProperty("Accept-Charset", "GBK");
            connection.setRequestProperty("contentType", "GBK");
            // 获取URLConnection对象对应的输出流  
           //文件流编码设置
            OutputStreamWriter out = new OutputStreamWriter(connection  
                    .getOutputStream(), "GBK"); 
            out.write(param);


            // flush输出流的缓冲  
            out.flush();  
            in = new BufferedReader(new InputStreamReader(
                    connection.getInputStream(),"UTF-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return result;
    }  

https://www.cnblogs.com/QTSS/p/8554981.html

如果请求方的请求头是text/plain等时,spring boot服务接口没有设置接受请求头,比如@RequestMappin默认application/x-www-form-urlencoded;charset=UTF-8进行参数处理,通过@RequestBody注解获取字符请求体时,请求体后面会多一个=号,因为spring boot 默认按form表单进行参数处理,把请求体进行url参数方式(key=value&key2=val2)进行处理,所以请求体会多出等号

----以上是复制的,共同学习,希望能解决你的问题

方法一、把注解去掉,直接接收就可以,@RequestBody把你传的参数当成一key,value为空;
方法二、不要穿JSON字符串,传JSON对象,用VO或者Map去接收(Content-Type:application/json)

看起来字符集好像没有统一,看一下

https://www.cnblogs.com/QTSS/p/8554981.html