You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React+Spring Boot注册接口无法访问,PostgreSQL未接收数据排查

排查与解决步骤

1. 确认请求地址是否正确

前端的REGISTER_URL如果仅为'/register',会默认发送到前端服务端口(如3000),而非Spring Boot后端的默认端口(通常是8080)。需将请求地址修改为完整路径:

const REGISTER_URL = 'http://localhost:8080/register';

或通过Axios全局配置baseURL简化请求:

axios.defaults.baseURL = 'http://localhost:8080';

2. 修正请求体字段名匹配问题

前端提交的{user, pwd}对应字段名为user和pwd,但后端实体类Registration的字段是username和password,字段名不匹配会导致Spring无法正确解析请求体。修改前端请求体:

const response = await axios.post(REGISTER_URL, 
    {username: user, password: pwd}, // 移除不必要的JSON.stringify,Axios会自动序列化对象
    {
        headers: { 'Content-Type': 'application/json'},
        withCredentials: true
    });

3. 完善跨域配置

前端请求设置了withCredentials: true,但后端@CrossOrigin未开启凭证支持,浏览器会因跨域策略拦截请求。修改后端Controller注解:

@CrossOrigin(origins = "http://localhost:3000", allowCredentials = true)
@RestController
public class RegistrationController {
    // 原有代码保持不变
}

4. 检查后端日志级别

确保后端日志配置允许输出INFO级内容。在application.properties中添加:

# 替换为你的Controller所在包路径
logging.level.com.yourpackage.RegistrationController=INFO

若日志级别高于INFO(如WARN或ERROR),logger.info的内容不会显示在控制台。

5. 查看前端请求状态

打开浏览器开发者工具→Network标签,检查注册请求的状态码:

  • 404:请求地址错误,确认后端端口和路径是否正确
  • 400:请求格式错误,核对请求体字段名与后端实体是否匹配
  • 403:跨域权限问题,检查@CrossOrigin配置
  • 无请求记录:前端handleSubmit未触发,排查表单提交逻辑或按钮绑定

内容的提问来源于stack exchange,提问作者daronoh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:07:26