【问题标题】:How to resolve CORS error for Rest API when my target is dynamy当我的目标是动态时如何解决 Rest API 的 CORS 错误
【发布时间】:2019-09-26 00:20:18
【问题描述】:

我正在尝试使用 Angular 和节点 js 创建 Rest Response 模拟器(如邮递员)。每当我尝试发送请求时,它都会给我 CORS(跨源资源共享)错误。 我发现使用 proxy.config 解决了我们在目标中提供主机的问题。但在我的情况下, URL 是动态的。我无法在 proxy.config 文件中定义所有目标。 我该如何解决这个问题?

【问题讨论】:

    标签: node.js angular rest cors


    【解决方案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”标头。
    猜你喜欢
    • 2021-01-14
    • 2022-09-14
    • 2021-09-27
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 2020-02-22
    • 2021-05-28
    相关资源
    最近更新 更多