如何在前端传递一个String 的变量和一个obj对象到后端,然后被Java后端接收
  cEe6YWJIAuf2 2023年11月05日 47 0


首先我们通过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);
  });

后端接收:

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 {
    // 定义你的对象属性
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  2Vtxr3XfwhHq   2024年05月17日   55   0   0 Java
  Tnh5bgG19sRf   2024年05月20日   114   0   0 Java
  8s1LUHPryisj   2024年05月17日   49   0   0 Java
  aRSRdgycpgWt   2024年05月17日   47   0   0 Java
cEe6YWJIAuf2