2016-10-17 25 views

Trả lời

56

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!")) 
} 
8
w.WriteHeader(http.StatusInternalServerError) 
w.WriteHeader(http.StatusForbidden) 

danh sách đầy đủ here

27

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

Các vấn đề liên quan