我編寫了以下代碼來向我的 raven 數(shù)據(jù)庫中的文檔 1 添加一個標(biāo)題字段。url := "http://localhost:8083/databases/drone/docs/1"fmt.Println("URL:>", url)var jsonStr = []byte(`{"title":"Buy cheese and bread for breakfast."}`)req, _ := http.NewRequest("PATCH", url, bytes.NewBuffer(jsonStr))req.Header.Set("X-Custom-Header", "myvalue")req.Header.Set("Content-Type", "application/json")client := &http.Client{}resp, err := client.Do(req)if err != nil { panic(err)}defer resp.Body.Close()body, _ := ioutil.ReadAll(resp.Body)fmt.Println("response Body:", string(body))我不明白為什么它不起作用?我收到以下響應(yīng)正文,這不是我所期望的。我期待成功的回應(yīng)。<html><body> <h1>Could not figure out what to do</h1> <p>Your request didn't match anything that Raven knows to do, sorry...</p></body>有人可以指出我在上面的代碼中缺少什么嗎?
2 回答

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個贊
PATCH
和POST
是不同的http動詞。
我認(rèn)為你只需要改變這一點(diǎn);
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
到
req, _ := http.NewRequest("PATCH", url, bytes.NewBuffer(jsonStr))
或者至少這是第一件事。根據(jù)評論,我推測您的請求正文也很糟糕。
- 2 回答
- 0 關(guān)注
- 246 瀏覽
添加回答
舉報(bào)
0/150
提交
取消