reactjs - 使用 Spring Boot API REST 反应 JS
问题描述
我有一个使用 React JS 开发的前端 webapp,以及一个使用 Spring boot 构建的 rest API。当我尝试从我的 react-app 访问 API 时,出现 403 错误。我的 API Rest 部署在 tomcat 服务器中。
POST http://localhost:8080/fantasy/api/auth/signin 403
PostData.js:3 Uncaught (in promise) SyntaxError: Unexpected end of JSON input
解决方案
很可能您的 ReactJs 应用程序和 Spring Boot 应用程序在不同的端口下运行,并且您没有在 Spring Rest 映射方法中配置CORS以启用来自运行 ReactJs 的 host:port 的传入请求:
@CrossOrigin(origins = "http://localhost:4200")
@GetMapping("/user")
public Greeting getUser(){}
您还可以在 Controller 本身上定义它:
@CrossOrigin(origins = "http://localhost:4200")
@RestController
您还可以为整个应用程序注册一个单独的 CORS 过滤器:参考
推荐阅读
- java - 尝试 catch 将我的变量重置为原始值,即使它是全局变量
- java - 发现多个 ejb 的接口类型为用于绑定
- ruby - 如何在 Windows 上的 ruby 中修复 (RubyInstaller::Runtime::DllDirectory::WinApiError)?
- python - 在 python 3.7 中使用 exec() 导入别名不起作用
- ruby-on-rails - 通过细化添加的方法在 Rails 控制器中不可见
- tensorflow - Keras 损失为负,准确率下降,但预测良好?
- python - Python:出现错误:TypeError:“int”类型的参数不可迭代
- python - 如何使用 Odoo 11 上的服务器操作为扩展字段编写更新代码?
- r - 在 R 中为 httr::POST 创建嵌套的 Json Obj
- python-3.x - 根据 mongoengine/pymongo 中的时间戳按小时/天/月求和