![](/img/trans.png)
[英]how to pass parameter of the destination to middleware in gin/golang
[英]Unable to run controller while using chi middleware in golang
我正在使用 chi 在 golang net/http
中編寫中間件 function 但 controller function 未在函數中執行(無法打印)。
調用中間件:
r.With(myMiddleware.Authware).Post("/tryon", mainController.Tryon)
package - myMiddleware
func Authware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// Middleware code
})
}
package - 主控制器
func Tryon(w http.ResponseWriter, r *http.Request) {
// Dosent print anything
log.Println(1)
}
我閱讀了文檔,但沒有多大幫助
你能幫忙調試一下,讓我知道為什么會這樣嗎? 另外,如果我想從中間件返回一些數據到controller,我該怎么做?
主.go
func main() {
r := chi.NewRouter()
r.With(middle.Authware).Post("/tryon", controller.Tryon)
http.ListenAndServe(":3000", r)
}
通過middleware
邏輯后調用controller
:
中間件.go
func Authware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// Middleware code
next.ServeHTTP(w, r)
})
}
controller.go
func Tryon(w http.ResponseWriter, r *http.Request) {
// Doesn't print anything
log.Println(1)
}
如果你真的希望它是一個POST
請求: curl -X POST localhost:3000/tryon
PS:go 通過這里的代碼示例: https://github.com/go-chi/chi
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.