J*aScript 与 Spring RESTful API 通信需通过 fetch 发送 HTTP 请求,Spring 使用 @RestController 提供接口并配置 @CrossOrigin 解决跨域;前端用 GET 获取数据、POST 提交 JSON 数据需设置请求头 Content-Type 并序列化,PUT 更新、DELETE 删除资源,确保请求方法、数据格式正确即可实现完整交互。

J*aScript 与 Spring RESTful API 通信,主要是通过浏览器的 fetch API 或 AJAX 请求向后端暴露的 REST 接口发送 HTTP 请求(如 GET、POST、PUT、DELETE 等),Spring Boot 后端接收请求并返回 JSON 数据。下面一步步说明如何实现前后端通信。
在 Spring Boot 中,使用 @RestController 注解创建一个控制器,对外提供 JSON 格式的接口。
@RestController
@CrossOrigin(origins = "http://localhost:3000") // 允许前端域名访问(解决跨域)
public class UserController {
@GetMapping("/api/users")
public List<User> getUsers() {
return Arrays.asList(
new User(1, "Alice"),
new User(2, "Bob")
);
}
@PostMapping("/api/users")
public User createUser(@RequestBody User user) {
user.setId(99); // 模拟保存
return user;
}
}
注意: 必须添加 @CrossOrigin 或配置全局 CORS,否则浏览器会因同源策略拒绝请求。
使用 fetch() 从 Spring 接口获取用户列表:
fetch('http://localhost:8080/api/users')
.then(response => response.json())
.then(data => {
console.log('用户列表:', data);
// 可在此渲染到页面
})
.catch(error => console.error('请求失败:', error));
向后端提交新用户数据:
AI at Meta
Facebook 旗下的AI研究平台
72
查看详情
const userData = { name: "Charlie" };
fetch('http://localhost:8080/api/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(userData)
})
.then(response => response.json())
.then(result => {
console.log('创建成功:', result);
})
.catch(error => console.error('提交失败:', error));
关键点: 设置 Content-Type: application/json,并用 JSON.stringify 序列化数据。
修改用户信息(PUT):
fetch('http://localhost:8080/api/users/1', {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name: "Alice Smith" })
})
.then(res => res.json())
.then(data => console.log('更新成功:', data));
删除用户(DELETE):
fetch('http://localhost:8080/api/users/1', {
method: 'DELETE'
})
.then(() => console.log('用户已删除'));
基本上就这些。只要 Spring 正确暴露 REST 接口,JS 使用 fetch 发送标准 HTTP 请求,就能实现完整通信。关键是处理好跨域、数据格式和请求方法。不复杂但容易忽略细节。
以上就是JS如何与SpringRESTfulAPI通信_JS与SpringRESTfulAPI通信的实现教程的详细内容,更多请关注其它相关文章!
# javascript
# 中文网
# 相关文章
# 在此
# 就能
# 序列化
# 数据格式
# 重构
# 用户列表
# 表单
# r
# 后端
# app
# 浏览器
# ajax
# json
# 前端
# js
# java
# js开发spring教程
# 跨域
# 网上营销推广人员
# 网店推广与网络营销
# seo描述排名
# 盐城网站建设宣传
# 牙刷seo
# 网络网站建设ppt
# 南乐网站优化价格
# 谷歌网站优化插件下载
# 网页提升seo排名
# 鼎湖seo整站优化
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
192.168.1.1路由器后台入口 192.168.1.1默认登录入口
mail.qq.com登录入口 QQ邮箱网页版直达
海棠阅读登录教程_详细讲解海棠登录操作
在J*a里什么是行为抽象_抽象行为对代码复用的提升作用
盲鳗善于分泌黏液猜猜主要用来做什么
金牛福袋获取攻略
解决PHP MySQL数据库更新无响应:SQL查询语法错误解析
iPhone17Pro如何连接蓝牙耳机_iPhone17Pro蓝牙设备配对与连接方法介绍
教育查询官方网站入口 教育个人档案查询免费官网
怎样设置开机后自动运行某个程序_Windows启动文件夹与任务计划【自动化】
Teambition网盘如何共享文件
照片整理的黄金法则是怎样的? 理解“收集-筛选-归档-备份”四步流程
Eclipse开发J*a快速入门
智慧团建活动报名入口 智慧团建活动报名入口手机端官网
163邮箱在线登录 163邮箱网页版在线入口
解决VS Code中Python版本冲突与输出异常的指南
J*a列表元素格式化输出教程
J*aScript与CSS动画:实现平滑顺序淡入淡出效果并解决显示冲突
PHP多语言网站的实现:会话管理与翻译函数优化教程
斯宾塞称XGP云游戏“蒸蒸日上”:正在构建一个游戏从未如此唾手可得的未来
创建您的便携版VS Code:让配置随身携带
纯CSS实现滚动时动态时间轴线条颜色填充效果
126邮箱申请入口官网_126邮箱注册免费登录2025
PHP中动态类名访问的类实例类型提示与静态分析实践
我的世界游戏平台入口 我的世界官方官网直达链接
《书耽》更换手机号方法
德邦物流在线查询系统 德邦快递货物运输追踪
Coolpad5890 ROM刷机包
优化Asyncio嵌套函数调度:使用生产者-消费者模式实现并发流处理
《火花chat》搜索好友方法
HTML Canvas文本样式定制指南:解决外部字体加载与应用难题
Go语言反射机制下访问嵌入结构体中的被遮蔽方法
c++如何使用std::thread::join和detach_c++线程生命周期管理
谷歌浏览器官网地址整理_谷歌浏览器新版直连2026稳定访问
在Dash应用中自定义HTML标题和网站图标
c++如何实现一个简单的RPC框架_c++远程过程调用原理与实践
优化2xN网格最大路径和的动态规划算法实践
CSS过渡与滚动滚动事件结合应用_scroll与transition动画
电脑从睡眠中被自动唤醒怎么办_Windows唤醒源事件查看与禁用【解决】
《花瓣》创建专辑方法
Dash应用中自定义HTML页面标题与网站图标(F*icon)的实用指南
一点万象签到领积分指南
优酷下载视频的清晰度怎么选_优酷缓存清晰度设置与选择指南
优化 React onClick 事件处理:函数引用与箭头函数的对比
C++中的explicit关键字有什么作用_C++类型转换控制与explicit使用
如何自定义苹果手机铃声
OPPO A3 WiFi频繁断开怎么办 OPPO A3网络优化技巧
Win10锁屏时间怎么设置 Win10调整自动锁屏时间方法
Golang如何初始化module项目_Golang module init使用说明
附近酒吧怎么找?
2025-11-17
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。