обработка динамических путей URL в GO без предопределенных маршрутов
При разработке веб -приложений в GO может быть необходимо обрабатывать URL, которые не соответствуют предварительно определенному набору маршрутов. Например, рассмотрим URL, такой как пример. Это поднимает вопрос: как мы можем прочитать и использовать этот динамический компонент в нашем приложении GO? С помощью Gorilla/Mux вы можете определить маршруты, которые поддерживают переменные, позволяя вам сопоставить URL -адреса с более гибким подходом.
, чтобы проиллюстрировать его использование, давайте рассмотрим пример URL: example.com/person/(NAME_NAME). Используя Gorilla/Mux, мы можем определить маршрут для обработки этого пути следующим образом:
Main Package Main импорт ( "github.com/gorilla/mux" "net/http" ) func main () { маршрутизатор: = mux.newrouter () router.handlefunc ("/person/{name}", PersonHandler) _ = http.listenandserve (": 8080", маршрутизатор) } Func Personhandler (w http.responsewriter, r *http.request) { vars: = mux.vars (r) имя: = vars ["name"] // Сделай что -нибудь с именем ... }. Затем мы определяем маршрут с использованием router.handlefunc (). Паттерн маршрута включает в себя заполнитель для переменной части, которую мы представляем как {name}. Соответствующий HTTP Handler PersonHandler определяется для обработки запросов, которые соответствуют этому маршруту.
package main
import (
"github.com/gorilla/mux"
"net/http"
)
func main() {
router := mux.NewRouter()
router.HandleFunc("/person/{name}", PersonHandler)
_ = http.ListenAndServe(":8080", router)
}
func PersonHandler(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
name := vars["name"]
// Do something with the name...
}
] Использование Gorilla/Mix обеспечивает гибкий и эффективный способ обработки динамических путей URL в вашем веб -приложении Go, позволяя вам читать и использовать пользовательские компоненты URL без необходимости предшественника определенных рутин.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3