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

news/2024/10/24 0:25:54/

首先我们通过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 {// 定义目标后端的URLString url = "http://your-backend-url.com/api/endpoint";// 创建URL对象URL endpointUrl = new URL(url);// 打开连接HttpURLConnection connection = (HttpURLConnection) endpointUrl.openConnection();// 设置请求方法为POSTconnection.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 {// 定义你的对象属性
}

http://www.ppmy.cn/news/1114612.html

相关文章

黑马JVM总结(十五)

(1)GC_相关参数 (2)GC_分析1 下面通过一个案例去读懂垃圾回收的一个过程,学会读懂垃圾回收的日志 -XX:UseSerialGC:是一个垃圾回收器,jdk8下默认的垃圾回收器不是它,改…

Linux--线程(与进程区别)

Linux线程 1、线程与进程 进程可以看成只有一个控制线程:一个进程同时只做一件事情。有了多个控制线程后,可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。 进程是程序执行时的一个实例,是分配系统资源&am…

二叉树的几个递归问题

我的主页:Lei宝啊 愿所有美好如期而遇 前言: 二叉树的递归是二叉树很重要的问题,几乎解决二叉树的问题都要使用递归,接下来我们将解决二叉树几个最基础的递归问题。 目录 前言: 二叉树的前序,中序&…

Qt 围炉札记

文章目录 一、Qt 调试二、vscode 与 Qt1、安装插件:2、设置中配置插件 一、Qt 调试 【Qt调试技巧】Profile配置使用及一些坑 QT运行时的Debug、Release、Profile选项区别 Qt Creator release版本进行调试 【Qt调试技巧】如何在Release下调试Qt程序? …

32:TX Text Control ActiveX/ASP.NET/WinForms/WPF Crack

TX Text Control ActiveX 32.0 添加操作“普通”样式表的能力。 2023 年 9 月 14 日 - 15:38新版本 特征 脚注- 在文档中插入与 Microsoft Word 兼容的脚注。脚注是一种文字处理功能,允许用户在页面底部插入附加信息。 可编辑的[普通]样式表- 添加了操作[普通]样式的…

【Unity】2D 对话模块的实现

对话模块主要参考 【Unity教程】剧情对话系统 实现。 在这次模块的构建将基于 unity ui 组件 和 C#代码实现一个从excel 文件中按照相应规则读取数据并展示的逻辑。这套代码不仅能实现正常的对话,也实现了对话中可以通过选择不同选项达到不同效果的分支对话功能。 …

【rtp-benchmarks】读取本地文件基于uvgRtp实现多线程发送

input 文件做内存映射 : get_mem D:\XTRANS\soup\uvg-rtp-dev\rtp-benchmarks\util\util.cc 文件中读取chunksize 到 vector 里作为chunks 创建多个线程进行发送 std::vector<std::thread*> threads;

Linux常见指令和基础知识

文章目录 前言一、Linux下基本指令1、ls2、pwd3、cd4、touch5、mkdir6、rmdir7、 rm8、man9、cp10、mv11、echo12、cat 及 tac13、more14、less15、head16、tail17、find18、grep19、zip/unzip20、tar21、常用热键 二、Linux下拓展指令1、date2、Cal3、bc4、uname5、top6、关机…