0

我正在通过这里的 CORS 教程将 CORS 添加到我们的项目中:https ://doc.networknt.com/tutorial/middleware/cors/ 我想我错过了一个步骤或一些东西来回顾我尝试过的内容:

将 cors.yml 文件添加到 src/main/resources/config 包括 pom.xml 中的依赖项

将 MiddlewareHandler 和 CorsHttpHandler 添加到 service.yml

我仍然收到 CORS 阻塞请求,所以由于我们的项目使用 handler.yml,我改为恢复第三个更改,而是将 CorsHttpHandler 添加到 handler.yml,直接在 CorrelationHandler 之后,虽然看起来像第三步,但它也不起作用是我缺少的那个:我应该对 handler.yml 进行什么更改以启用 CORS?

我也尝试过的其他事情是使用 com.networknt.cors.PathHandlerProvider 而不是 com.networknt.cors.CorsHttpHandler 并在处理程序/服务 ymls 中更改其顺序。

4

1 回答 1

0

有两种方法来定义处理程序链。在 service.yml 中的旧方法中,您只能为每个应用程序定义一个处理程序链。对于大型应用程序,有数字端点,有时,您在同一个应用程序中拥有 REST 和 GraphQL,每个端点具有完全不同的中间件处理程序。因此,我们添加了另一种方法来在 handler.yml 中定义处理程序链。对于新应用程序,强烈建议使用 handler.yml,新版本的 light-codegen 将根据规范生成它。CORS 教程刚刚更新以利用 handler.yml,并且cors示例应用程序已重做。感谢您提出问题。

于 2019-09-22T01:04:04.583 回答