我試圖通過使用 Golang 撰寫代碼來在 POSTMAN 設定一個 cookie
sub := handlers.NewSunscribers(s)
router := mux.NewRouter()
router.HandleFunc("/sub/set", sub.SetCookie).Methods("POST")
log.Fatal(http.ListenAndServe(":8000", router))
type SubHandlers struct {
sub storage.Sub
}
func (s SubHandlers) SetCookie(w http.ResponseWriter, r *http.Request) {
json.NewEncoder(w).Encode("Am trying to set a cookie")
cookie := &http.Cookie{
Name: "name",
Value: "Biola",
MaxAge: 3000,
}
w.Write([]byte("Cookie set Successfully"))
http.SetCookie(w, cookie)
}
所以在我運行這個程式并檢查了“發送”按鈕下方的郵遞員“cookie”按鈕后,我意識到 cookie 不存在。請問有人能解釋哪里做錯了嗎?
uj5u.com熱心網友回復:
先設定cookie,然后寫回應。例子:
http.SetCookie(w, cookie)
w.Write([]byte("Cookie set Successfully"))
uj5u.com熱心網友回復:
我后來意識到,如果先寫入回應體,則不能設定 cookie,必須先設定 cookie,然后才能跟隨回應體的其他訊息:
func setCookie(w http.ResponseWriter, r *http.Request) {
cookie := &http.Cookie{
Name: "name",
Value: "Bola",
MaxAge: 300,
}
http.SetCookie(w, cookie)
w.Write([]byte("Cookie set Successfully"))
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414944.html
標籤:
上一篇:如何復制輸入鍵并將其顯示在與UberZap相同的日志中?
下一篇:Go中的嵌入與繼承
