РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1058 of 1593 menu

Метод http.ServeMux.Handle

Метод ServeMux.Handle регистрирует обработчик для заданного маршрута в мультиплексоре HTTP-запросов. В первый параметр метод принимает строку с шаблоном пути (pattern), во второй — обработчик, реализующий интерфейс http.Handler. Обработчик будет вызываться для всех входящих запросов, чей URL соответствует зарегистрированному шаблону.

Синтаксис

func (mux *ServeMux) Handle(pattern string, handler http.Handler)

Пример

Давайте зарегистрируем простой обработчик для маршрута "/hello":

package main import ( "fmt" "net/http" ) type HelloHandler struct{} func (h HelloHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") } func main() { mux := http.NewServeMux() mux.Handle("/hello", HelloHandler{}) http.ListenAndServe(":8080", mux) }

Пример

Давайте зарегистрируем обработчик для маршрута "/user" с использованием замыкания:

package main import ( "fmt" "net/http" ) func main() { mux := http.NewServeMux() mux.Handle("/user", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "User page") })) http.ListenAndServe(":8080", mux) }

Пример

Давайте зарегистрируем обработчик для корневого маршрута "/", который будет перехватывать все запросы:

package main import ( "fmt" "net/http" ) type RootHandler struct{} func (h RootHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Root path: %s", r.URL.Path) } func main() { mux := http.NewServeMux() mux.Handle("/", RootHandler{}) http.ListenAndServe(":8080", mux) }

Смотрите также

  • метод ServeMux.HandleFunc,
    который позволяет зарегистрировать функцию как обработчик
  • интерфейс http.Handler,
    который должен реализовывать любой объект-обработчик
  • функцию http.ListenAndServe,
    которая запускает HTTP-сервер с указанным мультиплексором
  • функцию http.NewServeMux,
    которая создает новый экземпляр мультиплексора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить