正如January 2017 Endpoints release notes說,我試圖通過向X-谷歌的端點來更新我的openapi.yaml文件阻塞跨域請求停止擴展服務代理(ESP):如何在Google Cloud Endpoints中允許CORS?
swagger: "2.0"
info:
description: "Market scan using technical indicators."
title: "Talib Test"
version: "1.0.0"
host: "YOUR-PROJECT-ID.appspot.com"
x-google-endpoints:
- name: "YOUR-PROJECT-ID.appspot.com"
allowCors: "true"
basePath: "/"
consumes:
- "application/json"
produces:
- "application/json"
schemes:
- "http"
...
我繼續在嘗試從我的角度應用程序進行http調用時在瀏覽器中出現錯誤。該錯誤是在這兩個開發人員模式後,我部署我的角度應用:
XMLHttpRequest cannot load
Response to preflight request doesn't pass access control check:
No 'Access-Control-Allow-Origin' header is present on the requested resource.
,當我看着谷歌雲的日誌記錄我看到requestMethod:"OPTIONS"
和status:200
。這個API是一個POST方法,所以我猜測這是阻止請求的ESP。另外,我已經允許CORS在我的Python應用程序中使用FLASK-CORS,所以它應該工作。
我的應用程序有兩個都在Google App Engine上的服務。首先是標準環境。第二,我遇到的問題是靈活的環境。我正在使用dispatch.yaml文件並分開openapi.yaml文件(如果相關的話)。此外,該API適用於hurl it和郵遞員。
任何幫助將會很棒!
感謝您的支持。這是後端沒有正確處理CORS。 [FLASK-CORS](https://github.com/corydolphin/flask-cors)沒有提供正確的標題。我跟着[這個問題](https://stackoverflow.com/questions/19962699/flask-restful-cross-domain-issue-with-angular-put-options-methods),並開始使用燒瓶after_request掛鉤創建正確的標題。再次感謝 – Nicholas
您可以指定openapi.json中的哪個位置:「allowCors」:「true」應該添加嗎?我已經嘗試過,並沒有爲我工作 – caitoo0o