亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

API 網關集成請求 HTTP 標頭未將查詢字符串映射到標頭

API 網關集成請求 HTTP 標頭未將查詢字符串映射到標頭

Go
手掌心 2023-07-04 16:58:01
在 Api-Gateway 上,我嘗試設置從“方法請求”查詢字符串到“集成請求”標頭到 lambda 的映射,但映射永遠不會到達 lambda 函數。在“方法請求”>“URL 查詢字符串參數”上,我將其設置為名稱“customerIdentification”然后正如文檔所說:doc轉到“集成請求”>“HTTP 標頭”添加名稱“userId”并映射到“method.request.querystring.customerIdentification”package mainimport (    "context"    "encoding/json"    "fmt"    "github.com/aws/aws-lambda-go/events"    "github.com/aws/aws-lambda-go/lambda")func handleRequest(ctx context.Context, request events.APIGatewayProxyRequest) (events.APIGatewayProxyResponse, error) {    fmt.Printf("Processing request data for request %s.\n", request.RequestContext.RequestID)    fmt.Printf("Body size = %d.\n", len(request.Body))    fmt.Println("Headers:")    for key, value := range request.Headers {        fmt.Printf("    %s: %s\n", key, value)    }    xxx, err := json.Marshal(request.Headers)    if err != nil {        fmt.Println("*** err *** err *** err *** err *** err ")        fmt.Println(err)        fmt.Println("*** err *** err *** err *** err *** err ")    }    return events.APIGatewayProxyResponse{Body: string(xxx), StatusCode: 200}, nil}func main() {    lambda.Start(handleRequest)}我希望在 golang lambda 函數代碼中我可以從“request.Headers”中檢索“userId”。但它總是空的
查看完整描述

3 回答

?
守候你守候我

TA貢獻1802條經驗 獲得超10個贊

要從 golang 中的映射中檢索任何鍵的值,您可以簡單地這樣做


val, ok := request.Headers["userId"]

if ok { // the key is present

    fmt.Println(val)

}

但是您確定鍵“userId”位于標頭中嗎?通常這些類型的鑰匙僅位于機身中。如果您想交叉檢查,請嘗試將您的 request.Body 解組到 map[string]string并從那里檢索“userd”。


查看完整回答
反對 回復 2023-07-04
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

我和你有同樣的問題,我認為只有當你使用 http 或 aws 服務代理時才會轉發 Http 標頭,

For?an?HTTP?proxy?or?an?AWS?service?proxy,?to?associate?a?path?parameter,?a?query?string?parameter,?or?a?header?parameter?defined?in?the?integration?request?with?a?corresponding?path?parameter,?query?string?parameter,?or?header?parameter?in?the?method?request?of?the?HTTP?proxy?or?AWS?service?proxy,?do?the?following...



查看完整回答
反對 回復 2023-07-04
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

如果您正在使用,Rest API請確保將集成類型設置為AWS_PROXY。它允許您處理事件并讓您完全控制響應。


使用CLI:


$ aws apigateway put-integration --rest-api-id {rest-api-id} \

--resource-id {resource-id} --http-method ANY --type AWS_PROXY \

--integration-http-method {http-method} \

--uri {uri}

使用Console:

http://img1.sycdn.imooc.com//64a3df4d0001d60d13690669.jpg

查看完整回答
反對 回復 2023-07-04
  • 3 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號