当前位置:首页 > React

react和springboot如何连接

2026-01-24 13:19:32React

React 与 Spring Boot 的连接方法

React 作为前端框架,Spring Boot 作为后端框架,通常通过 RESTful API 进行通信。以下是实现两者连接的详细方法。

配置 Spring Boot 后端

Spring Boot 需要提供 RESTful API 接口供 React 调用。创建一个简单的控制器类:

@RestController
@RequestMapping("/api")
public class DemoController {

    @GetMapping("/message")
    public String getMessage() {
        return "Hello from Spring Boot!";
    }

    @PostMapping("/data")
    public ResponseEntity<String> postData(@RequestBody String data) {
        return ResponseEntity.ok("Received: " + data);
    }
}

确保在 application.propertiesapplication.yml 中配置端口(如 server.port=8080),并启用跨域支持:

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/")
                .allowedOrigins("http://localhost:3000") // React 默认端口
                .allowedMethods("GET", "POST");
    }
}

配置 React 前端

在 React 项目中,使用 fetchaxios 调用 Spring Boot API。安装 axios

npm install axios

在 React 组件中调用 API:

import React, { useEffect, useState } from 'react';
import axios from 'axios';

function App() {
    const [message, setMessage] = useState('');

    useEffect(() => {
        axios.get('http://localhost:8080/api/message')
            .then(response => setMessage(response.data))
            .catch(error => console.error(error));
    }, []);

    const postData = () => {
        axios.post('http://localhost:8080/api/data', 'Sample Data')
            .then(response => alert(response.data))
            .catch(error => console.error(error));
    };

    return (
        <div>
            <p>Message from Spring Boot: {message}</p>
            <button onClick={postData}>Send Data</button>
        </div>
    );
}

export default App;

处理跨域问题

如果未在 Spring Boot 中配置 CORS,可以在 React 的 package.json 中设置代理:

"proxy": "http://localhost:8080"

然后修改 React 中的请求 URL 为相对路径:

axios.get('/api/message')

部署注意事项

生产环境中,确保前后端部署在同一域名下或正确配置跨域。Spring Boot 可打包为 JAR 文件,React 构建后静态文件可放入 Spring Boot 的 resources/static 目录。

# Spring Boot 打包
mvn package

# React 构建
npm run build

将 React 的 build 目录内容复制到 Spring Boot 的 src/main/resources/static 目录,重新打包即可。

react和springboot如何连接

标签: reactspringboot
分享给朋友:

相关文章

如何优化react

如何优化react

优化 React 性能的方法 使用 React.memo 进行组件记忆 React.memo 是一个高阶组件,用于缓存函数组件的渲染结果,避免不必要的重新渲染。只有当组件的 props 发生变化时,才…

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impo…

react如何浮动

react如何浮动

使用 CSS 实现浮动 在 React 中实现浮动效果可以通过 CSS 的 float 属性完成。在组件的样式文件或内联样式中直接设置 float: left 或 float: right。…

react如何拓展

react如何拓展

React 拓展方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式,通过接收一个组件并返回一个新组件实现功能拓展。例如,为组件添加日志功能: function withLoggin…

react 如何遍历

react 如何遍历

遍历数组 在React中遍历数组通常使用map方法,它会返回一个新的数组。map是处理数组并渲染列表元素的首选方法。 const items = ['Apple', 'Banana', 'Cherr…

react如何通信

react如何通信

React 组件通信方式 React 组件间的通信方式多样,具体选择取决于组件关系和场景需求。以下是常见方法: 父子组件通信 父组件通过 props 向子组件传递数据,子组件通过回调函数通知父…