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

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

如何在 POST 方法中傳遞標頭?

如何在 POST 方法中傳遞標頭?

Go
嚕嚕噠 2023-05-15 15:15:09
在這里,我有一個函數,我在其中發送一個 POST 請求,該請求用于將客戶保存在帶有數據的正方形中,并使用身份驗證設置標頭,variable_name.Header.Set() 但在正文響應中,它總是會給我以下錯誤:-"errors":[     {"category":"AUTHENTICATION_ERROR",      "code":"UNAUTHORIZED",      "detail":"Your request did not include an `Authorization` http header with an access token. }]}但是在函數中我設置了身份驗證令牌。代碼:-func CreateCustomer(c *gin.Context) {customer := models.Customer{}bearer := strings.Split(c.Request.Header["Authorization"][0], "Bearer")// token pass in the postman.bearerToken := strings.TrimSpace(bearer[1])customerErr := json.NewDecoder(c.Request.Body).Decode(&customer)if customerErr != nil {    fmt.Println(customerErr)    return}fmt.Println(customer)bindData, err := json.Marshal(customer)if err != nil {    panic(err)}var jsonStr = []byte(string(bindData))url :="https://connect.squareup.com/v2/customers"fmt.Println(url)req, err := http.Post(url, "application/json", bytes.NewBuffer(jsonStr))// I used this one too.// req.Header.Set("Authorization", "Bearer "+bearerToken)// req.Header.Set("Accept", "application/json")req.Header.Add("Authorization", "Bearer "+bearerToken)req.Header.Add("Accept", "application/json")fmt.Println(req.Header)if err != nil {    panic(err)}defer req.Body.Close()body, _ := ioutil.ReadAll(req.Body)fmt.Println("response Body:", string(body))}type Customer struct {  GivenName    string   `json:"given_name" bson:"given_name"`  FamilyName   string   `json:"family_name" bson:"family_name"`  CompanyName  string   `json:"company_name" bson:"company_name"`  Nickname     string   `json:"nickname" bson:"nickname"`  EmailAddress string   `json:"email_address" bson:"email_address"`  Address      Addresss `json:"address" bson:"address"`  PhoneNumber  string   `json:"phone_number" bson:"phone_number"`  ReferenceId  string   `json:"reference_id" bson:"reference_id"`  Note         string   `json:"note" bson:"note"`}任何人都可以告訴我我應該做什么錯誤或我在哪里進行更正以便能夠在 Squareup 中保存客戶?
查看完整描述

2 回答

?
浮云間

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

您的代碼發送 POST 請求,并在處理請求后將標頭添加到響應結構中:


響應,錯誤:= http.Post(url, "application/json", bytes.NewBuffer(jsonStr))


您應該先設置標頭,然后再發送請求:


// create request

req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))

if err != nil {

   panic(err)

}


// set headers

req.Header.Add("Authorization", "Bearer "+bearerToken)

req.Header.Add("Accept", "application/json")


// send request with headers

client := &http.Client{}

response, err := client.Do(req)


查看完整回答
反對 回復 2023-05-15
?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

唯一提醒的是,盡量不要混淆“身份驗證”和“授權”,這是我遇到的一種障礙。不是字面上的意思,大家都懂的。然而,即使在語法中,很多材料也會交替使用這兩個詞,至少在我看來,這是不應該鼓勵的。上面的話題就是一個很好的例子:以“身份驗證”作為問題開始,然后以“授權”作為解決方案結束。



查看完整回答
反對 回復 2023-05-15
  • 2 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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