Константа http.StatusOK
Константа http.StatusOK представляет собой числовое значение 200,
которое соответствует стандартному HTTP-коду состояния успешного ответа.
Она используется в пакете net/http для отправки клиенту статуса,
означающего, что запрос успешно обработан. Вместо магического числа 200
рекомендуется использовать эту константу для улучшения читаемости кода.
Синтаксис
http.StatusOK
Пример
Давайте создадим простой HTTP-сервер, который всегда возвращает статус 200 OK:
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
fmt.Fprintln(w, "Request processed successfully")
})
http.ListenAndServe(":8080", nil)
}
Пример
Давайте отправим статус 200 OK вместе с JSON-ответом:
package main
import (
"encoding/json"
"net/http"
)
func main() {
http.HandleFunc("/api/data", func(w http.ResponseWriter, r *http.Request) {
data := map[string]string{"status": "success", "message": "Data retrieved"}
jsonData, _ := json.Marshal(data)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
w.Write(jsonData)
})
http.ListenAndServe(":8080", nil)
}
Пример
Давайте сравним поведение с другими статусами:
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if r.Method == "GET" {
w.WriteHeader(http.StatusOK)
fmt.Fprintln(w, "GET request successful")
} else {
w.WriteHeader(http.StatusMethodNotAllowed)
fmt.Fprintln(w, "Method not allowed")
}
})
http.ListenAndServe(":8080", nil)
}
Смотрите также
-
константу
http.StatusNotFound,
которая соответствует коду 404 Not Found -
константу
http.StatusInternalServerError,
которая соответствует коду 500 Internal Server Error -
константу
http.MethodGet,
которая представляет HTTP-метод GET -
функцию
http.Error,
которая отправляет ошибку с указанным статусом