Mux
Mux — это простой и эффективный распределитель маршрутов, который поддерживает интерфейс net/http стандартной библиотеки.
Данные маршрутизации хранятся в префиксном дереве preTree, поддерживаемом библиотекой https://github.com/obity/pretree.
Текущая версия поддерживает только переменные маршруты и простые маршруты, такие как /user/:id или /user/login. В зависимости от метода HTTP-запроса GET, HEAD, POST, PUT, PATCH, DELETE, CONNECT, OPTIONS, TRACE маршрутизация обрабатывается отдельно, а маршруты между различными группами изолированы друг от друга.
Формат записи переменных маршрутизации поддерживает как :id, так и {id}, но фактическое хранение осуществляется в формате :id.
Doc
См. этот документ на GoDoc (https://pkg.go.dev/github.com/obity/mux).
Install
go get -u github.com/obity/mux@latest
ToDo
Example
package main
import (
"net/http"
"github.com/obity/mux"
)
func main() {
m := mux.NewMux()
m.GET("/pet/findByStatus", Findbystatus)
m.GET("/pet/{id}", PetHandler)
m.POST("/user/createWithList", Createwithlist)
m.DELETE("/user/:username", Userinfo)
m.Start(":8001")
}
func PetHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
ID := vars["id"]
w.WriteHeader(http.StatusOK)
w.Write([]byte("ID:" + ID))
return
}
func Findbystatus(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte("FindByStatus matched:" + r.RequestURI))
return
}
func Createwithlist(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte("CreateWithList matched:" + r.RequestURI))
return
}
func Userinfo(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte("UserInfo matched:" + r.RequestURI))
return
}
func UserHandler(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte("UserInfo matched:" + r.RequestURI))
return
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )