Làm cách nào để đặt mã trạng thái http trên http.ResponseWriter
?Đặt mã trạng thái trên http.ResponseWriter
tức là 500 hoặc 403.
Tôi có thể thấy rằng các yêu cầu thường có mã trạng thái là 200 được đính kèm với chúng.
Làm cách nào để đặt mã trạng thái http trên http.ResponseWriter
?Đặt mã trạng thái trên http.ResponseWriter
tức là 500 hoặc 403.
Tôi có thể thấy rằng các yêu cầu thường có mã trạng thái là 200 được đính kèm với chúng.
Sử dụng http.ResponseWriter.WriteHeader
. Từ tài liệu:
WriteHeader gửi tiêu đề phản hồi HTTP có mã trạng thái. Nếu WriteHeader không được gọi một cách rõ ràng, lời gọi đầu tiên để ghi sẽ kích hoạt một WriteHeader ẩn (http.StatusOK). Do đó các lời gọi rõ ràng đối với WriteHeader chủ yếu được sử dụng để gửi các mã lỗi.
Ví dụ:
func ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte("500 - Something bad happened!"))
}
w.WriteHeader(http.StatusInternalServerError)
w.WriteHeader(http.StatusForbidden)
danh sách đầy đủ here
Ngoài WriteHeader(int)
bạn có thể sử dụng phương thức helper http.Error, ví dụ:
func yourFuncHandler(w http.ResponseWriter, r *http.Request) {
http.Error(w, "my own error message", http.StatusForbidden)
// or using the default message error
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
}
Phương thức http.Error() và http.StatusText() là bạn của bạn