2016-09-16 162 views
2

我想爲現有的API使用AWS API網關,但沒有任何文檔或在線教程似乎對此用例有所幫助。我現在不關心Lambda或無服務器API或數據轉換,甚至不關心身份驗證。我將接受爲每個API資源和方法設置資源和方法所涉及的繁瑣手工勞動。我希望對網關的請求幾乎不會被觸發到後端。如果客戶端指定Accept: application/vnd.custom-type; schema="http://schemas.example.com/data-type-2.3",則接受標頭應顯示在服務器上。我設法讓它將請求轉發到正確的url,但它仍然無法處理動態或自定義的「content-type」或「accept」標頭,並且不會傳遞請求正文。我是否必須設置一些複雜的映射模板?我是否必須指定每個有效的內容類型並接受API可以處理的類型?簡單的AWS API網關傳遞,有可能嗎?

我開始懷疑我是否應該對AWS API網關放棄了,並設法找到的東西,只是沒有API代理各種DNS後端,如果存在

+0

有api-gw團隊成員閱讀SO,所以他們中的一個可能會看到問題並提供一些意見。儘管我可以想到一些原因,但我可能會建議您在此問題中提及您爲其他人帶來的解決方案的動機......爲什麼在這種情況下,API Gateway將作爲透明代理對您有用? –

回答

0

你當然可以映射接受和內容 - 在方法請求中輸入發送到集成請求的頭文件。這將覆蓋API網關對這些標頭的默認行爲。您仍然需要設置資源/方法來匹配您的後端端點。

我們正在研究一些新功能,這些功能將對此用例有很大幫助。敬請關注未來幾周內的AWS論壇。

+0

您的意思是我必須明確地映射API網關中的每個Accept和Content-Type標頭,才能將相同的標頭傳遞給後端? – rwilson04

+0

不,這些標頭的值將被轉發到後端集成。請閱讀文檔@ http://docs.aws.amazon.com/apigateway/latest/developerguide/request-response-data-mappings.html#mapping-request-parameters –