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

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

嘗試創建問題時來自 GitHub API 422 的意外錯誤響應

嘗試創建問題時來自 GitHub API 422 的意外錯誤響應

Go
神不在的星期二 2023-05-22 17:46:20
向 GitHub API V3 發布問題時,我收到了意外響應。即 422 不可處理的實體。但是,錯誤的詳細信息是針對搜索端點而不是 POST 創建端點的。{“消息”:“驗證失敗”,“錯誤”:[{“資源”:“搜索”,“字段”:“q”,“代碼”:“缺失”}],“documentation_url”:“https:/ /developer.github.com/v3/search "}我的直覺是我弄亂了 json,但它非常簡單,我看不到問題所在。我已經嘗試過在這里和其他地方發布的各種解決方案,但沒有發現我做錯了什么。這是一個編碼練習,而不是任何用于生產的練習,但讓我有點瘋狂。在發布之前在調試中測試請求正文是什么。{"title":"Hello World","body":"dfsdfsdf\n"}嘗試刪除主體,因為它是可選的,同樣的問題。在 Debug 中測試請求是 POST 類型在 Debug 中測試授權標頭是正確的。刪除授權密鑰并按預期收到 401。發帖功能:func CreateIssue (issue *NewIssue) (*IssueDetailsResult, error){issueJson, err := json.Marshal(issue)if err != nil {    log.Fatal(err)    os.Exit(1)}req, err := http.NewRequest("POST", github.IssuesURL, bytes.NewBuffer(issueJson))req.Header.Set("Authorization", "token "+os.Getenv("UPGITUSER"))req.Header.Set( "Content-Type", "application/json")client := &http.Client{}resp, err := client.Do(req)if err != nil {    log.Fatal(err)    os.Exit(1)}if resp.StatusCode != http.StatusCreated {    bodyBytes, _ := ioutil.ReadAll(resp.Body)    body := string(bodyBytes)    resp.Body.Close()    return nil, fmt.Errorf("create issue failed:%s", resp.Status + "\ntext: " + body)}var result IssueDetailsResultif err := json.NewDecoder(resp.Body).Decode(&result); err != nil {    resp.Body.Close()    return nil, err}resp.Body.Close()return &result, nil}期望來自 GitHubAPI 的 201。
查看完整描述

1 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

響應是請求被發送到錯誤端點的強烈指示。

您可以使用net/http/httputil的DumpRequestOut檢查您將要發送的請求并確保它們符合您的預期。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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