goで認証済みリクエストのみAPIGAtewayにアクセスできるようにしたいです。
GETうまくいったのですが、PUTとPOSTがいまいちやりかたがわからなかったので質問させていただきます。
うまく行っていない原因は
_, err = g.signed.Sign(request, nil, "execute-api", "us-west-2", time.Now())
のnilにあると思います。このリクエストではbodyは不要なのですが、nliの部分にはどう書いたらいいでしょうか。また、bytes.NewBuffer(reqJSON)のようなbyte[]を渡した時はどう書けばいいのでしょうか
golang
1func (g *GuestRepository) CreateGuest(ctx context.Context) (string, error) { 2 const APPLICATION_JSON = "application/json" 3 4 // APIを呼び出す。 5 // res, err := http.Post(g.url, APPLICATION_JSON, nil) 6 // if err != nil { 7 // log.Println("failed to create guest: ", err) 8 // return "", err 9 // } 10 // fmt.Println(res.Body) 11 // APIを呼び出す。 12 request, err := http.NewRequest("POST", g.url, nil) 13 if err != nil { 14 log.Println("failed to create request :", err) 15 return "", err 16 } 17 _, err = g.signed.Sign(request, nil, "execute-api", "us-west-2", time.Now()) 18 if err != nil { 19 log.Println("failed to request:", err) 20 return "", err 21 } 22 client := &http.Client{} 23 res, err := client.Do(request) 24 if err != nil { 25 log.Println("failed to update request:", err) 26 return "", err 27 } 28}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。