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

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。如何在前端传递一个String 的变量和一个obj对象到后端,然后被Java后端接收,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

首先我们通过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 {
    // 定义你的对象属性
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/197936.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!