当我的目标是动态时如何解决 Rest API 的 CORS 错误
Posted
技术标签:
【中文标题】当我的目标是动态时如何解决 Rest API 的 CORS 错误【英文标题】:How to resolve CORS error for Rest API when my target is dynamy 【发布时间】:2019-09-26 00:20:18 【问题描述】:我正在尝试使用 Angular 和节点 js 创建 Rest Response 模拟器(如邮递员)。每当我尝试发送请求时,它都会给我 CORS(跨源资源共享)错误。 我发现使用 proxy.config 解决了我们在目标中提供主机的问题。但在我的情况下, URL 是动态的。我无法在 proxy.config 文件中定义所有目标。 我该如何解决这个问题?
【问题讨论】:
【参考方案1】:在您的服务器脚本中添加以下代码
app.all("/api/*", function (req, res, next)
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With");
res.header("Access-Control-Allow-Methods", "GET, PUT, POST");
return next();
);
如果您在 springboot 中使用 angular,您只需在控制器定义之前添加以下行
@CrossOrigin(origins="http://localhost:4200",allowedHeaders="*")
例如:
@RestController
@CrossOrigin(origins="http://localhost:4200",allowedHeaders="*")
public class AccountController
@Autowired
private AccountServiceImpl accountService;
@RequestMapping("/hello")
public String startPage()
return "Hi";
它将解决问题。
【讨论】:
好的,我没有使用弹簧靴。它只是使用 httpclient 方法的角度。我也尝试过“Access-control-Allow-Origin”标头。以上是关于当我的目标是动态时如何解决 Rest API 的 CORS 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何解决 django rest-framework 中的错误请求
如何使用 ModelAndView 在 RestController 上实现 REST API
multi-tenant-schemas:使用django rest框架的动态api路由