新闻中心

JS如何与SpringRESTfulAPI通信_JS与SpringRESTfulAPI通信的实现教程

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

js如何与springrestfulapi通信_js与springrestfulapi通信的实现教程

J*aScript 与 Spring RESTful API 通信,主要是通过浏览器的 fetch APIAJAX 请求向后端暴露的 REST 接口发送 HTTP 请求(如 GET、POST、PUT、DELETE 等),Spring Boot 后端接收请求并返回 JSON 数据。下面一步步说明如何实现前后端通信。

1. 确保 Spring 提供 RESTful 接口

在 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,否则浏览器会因同源策略拒绝请求。

2. 前端 JS 发送请求获取数据(GET)

使用 fetch() 从 Spring 接口获取用户列表:

fetch('http://localhost:8080/api/users')
  .then(response => response.json())
  .then(data => {
    console.log('用户列表:', data);
    // 可在此渲染到页面
  })
  .catch(error => console.error('请求失败:', error));

3. 前端提交数据到 Spring(POST)

向后端提交新用户数据:

ChatCut ChatCut

AI视频剪辑工具

ChatCut 1086 查看详情 ChatCut
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 序列化数据。

4. 处理 PUT 和 DELETE 请求

修改用户信息(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通信的实现教程的详细内容,更多请关注其它相关文章!


# 数据格式  # 林州机械网站建设  # 启东网站建设哪家好  # seo优化预案  # 泸州360营销推广  # seo短视频发布  # 广州网站推广方案平台  # 营销推广活动后期工作  # seo万词弊端  # 安阳个人网站建设公司  # 营销与营销推广的区别  # 相关文章  # 在此  # 就能  # 序列化  # 加载  # js开发spring教程  # 滑块  # 用户列表  # 如何使用  # r  # 跨域  # 后端  # app  # 浏览器  # ajax  # json  # 前端  # js  # java  # javascript 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示  Steam官网入口直达 Steam注册及登录步骤  处理嵌套交互式控件:前端可访问性指南  星露谷物语官网入口 星露谷物语游戏官网入口  必由学官方网站入口 必由学学生教师共用登录通道  Adobe PDF表单中利用J*aScript解析与格式化日期组件的教程  谷歌浏览器怎么给标签页静音_Chrome标签静音快捷操作  优化HTML表单样式:解决输入框焦点跳动与元素间距问题  Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法  韩小圈电脑版在线入口_网页版免费登录地址  C++ string find函数返回值npos详解_C++字符串查找失败的判断条件  Win11怎么设置鼠标主按键_Win11鼠标左右键功能互换  C++如何生成随机数_C++ random库使用方法与范围设置  蓝湖怎样用切图标注提对接效率_蓝湖用切图标注提对接效率【设计对接】  QQ邮箱官方网站登录入口_QQ邮箱网页版在线使用  Python类型检查:优化关联可选属性的Mypy推断策略  在J*a中如何捕获IndexOutOfBoundsException_索引越界异常防护方法说明  J*aScript DOM操作:高效清空列表元素的策略与实践  斑马英语APP如何开启夜间护眼阅读_斑马英语APP夜间模式与低蓝光设置教程  解决 Vaadin 8 中大文件音频播放与定位时出现的 IOException  《北京人工智能产业白皮书(2025)》发布:全年核心产值预计突破 4500 亿元  Mudbox图层蒙版怎么用_Mudbox图层蒙版数字雕刻应用技巧  Golang如何使用context实现超时取消_Golang context超时取消模式实践  解决macOS上安装pyhdf时‘hdf.h’文件缺失的编译错误  谷歌邮箱注册显示错误Gmail服务器异常与延迟处理  拼多多购物车商品数量无法修改如何处理 拼多多购物车操作优化方法  使用Python高效删除Word宏并转换DOCM为DOCX格式  解决Rails应用中内容错位与Turbo警告:meta标签误用导致富文本渲染异常  优化Django表单:提交验证失败后保留用户输入  Spyder启动失败:字体文件权限拒绝错误解决方案  葱吃多了会怎样 葱吃多了会伤胃吗  Pandas DataFrame 高效批量赋值:告别循环与笛卡尔积误区  Win10快速启动功能利弊分析 Win10开启或关闭快速启动教程【技巧】  J*a里如何实现线程安全的懒加载单例_懒加载单例实现方法解析  浏览器打开即用 美图秀秀网页版入口  C++ typeid如何获取类型信息_C++ RTTI运行时类型识别用法  必由学官网入口 必由学教师登录入口  在VS Code中配置和运行Dart程序的完整步骤  Go语言中高效处理x-www-form-urlencoded表单数据  淘宝网网页版登录入口 淘宝官方网页版快捷登录  J*aScript中向JSON对象添加新属性的正确姿势  Win10系统服务哪些可以禁用 Win10安全优化服务列表【干货】  PySpark中高效提取字符串右侧可变长度数字:使用regexp_extract  mc.js游戏直达 mc.js网页免下载版本秒进地址  J*aScript中安全有效地处理localStorage字符串数据  微信网页版登录教程_微信网页版登录入口在哪  J*a递归快速排序中静态变量导致数据累积问题的解决方案  电脑屏幕颜色不舒服怎么办_Windows夜间模式与色彩校准教程【护眼技巧】  邮政快递包裹最新位置 邮政快递实时追踪入口  C++ explicit关键字防止隐式转换_C++构造函数安全规范 

搜索