• 如何在前端传递一个String 的变量和一个obj对象到后端,然后被Java后端接收


    首先我们通过post向后端发送请求,本篇博客仅纪录一下,在实际开发中需要从前端传递多值到后端,并且不存放到一个对象中进行传值处理,简单的一个案例展示该怎么做罢了!!!

    // 创建一个包含字符串和对象的数据
    const postData = {
      stringValue: "Hello, World!", // 你要发送的字符串数据
      yourObject: {
        // 你的自定义对象属性
      }
    };
    
    // 定义后端API的URL
    const apiUrl = "http://your-backend-url.com/api/endpoint"; // 替换为实际的后端URL
    
    // 发起POST请求
    fetch(apiUrl, {
      method: "POST",
      headers: {
        "Content-Type": "application/json", // 指定请求体的内容类型为JSON
      },
      body: JSON.stringify(postData), // 将数据转换为JSON格式字符串
    })
      .then((response) => {
        if (!response.ok) {
          throw new Error(`HTTP error! Status: ${response.status}`);
        }
        return response.json(); // 解析响应的JSON数据
      })
      .then((data) => {
        // 在这里处理后端返回的数据
        console.log("Response from server:", data);
      })
      .catch((error) => {
        console.error("Error:", error);
      });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    后端接收:

    public class PostStringAndObjectExample {
        public static void main(String[] args) {
            try {
                // 定义目标后端的URL
                String url = "http://your-backend-url.com/api/endpoint";
    
                // 创建URL对象
                URL endpointUrl = new URL(url);
    
                // 打开连接
                HttpURLConnection connection = (HttpURLConnection) endpointUrl.openConnection();
    
                // 设置请求方法为POST
                connection.setRequestMethod("POST");
    
                // 启用输入输出流
                connection.setDoOutput(true);
    
                // 创建一个字符串数据
                String stringData = "Hello, World!"; // 你要发送的字符串数据
                // 创建一个对象
                YourObject yourObject = new YourObject(); // 你的自定义对象
    
                // 将数据转换为JSON格式或其他需要的格式
                // 这里使用JSON示例
                String jsonData = "{\"stringValue\":\"" + stringData + "\", \"yourObject\":" + yourObjectToJson(yourObject) + "}";
    
                // 获取输出流
                OutputStream os = connection.getOutputStream();
                OutputStreamWriter osw = new OutputStreamWriter(os, "UTF-8");
    
                // 写入数据
                osw.write(jsonData);
                osw.flush();
                osw.close();
    
                // 获取响应
                int responseCode = connection.getResponseCode();
    
                if (responseCode == HttpURLConnection.HTTP_OK) {
                    // 读取响应
                    BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                    String inputLine;
                    StringBuilder response = new StringBuilder();
    
                    while ((inputLine = in.readLine()) != null) {
                        response.append(inputLine);
                    }
                    in.close();
    
                    // 处理响应
                    String responseBody = response.toString();
                    System.out.println("Response: " + responseBody);
                } else {
                    System.out.println("POST request failed with response code: " + responseCode);
                }
    
                // 关闭连接
                connection.disconnect();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        // 自定义方法将对象转换为JSON字符串,你需要根据你的对象结构进行修改
        private static String yourObjectToJson(YourObject obj) {
            // 实现将对象转换为JSON的逻辑
            // 返回JSON字符串
            return "{}";
        }
    }
    
    // 自定义对象类
    class YourObject {
        // 定义你的对象属性
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
  • 相关阅读:
    10个即时通讯软件开发项目经验教训
    如何实现chrome谷歌浏览器多开(独立环境 独立cookie)
    【GCC】关于 -finput-charset= 和 -fexec-charset= 选项
    OpenShift 4 - 安装 ODF 并部署红帽 Quay (3 Worker)
    SpringBoot项目打包成jar后,使用ClassPathResource获取classpath(resource)下文件失败
    当当API关键字搜索接口技术:实现快速商品搜索与推荐
    redis学习六redis的集群:主从复制、CAP、PAXOS、Cluster分片集群(一)
    以太坊为什么选择了RLP编码格式
    java-php-python-ssm一起组局校园交友平台计算机毕业设计
    嵌入式Linux应用开发-第十二章设备树的改造
  • 原文地址:https://blog.csdn.net/qq_45922256/article/details/132873060