第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

用于公共和私有路由中間件的 httprouter 和 negroni

用于公共和私有路由中間件的 httprouter 和 negroni

Go
繁星淼淼 2023-07-31 15:19:22
我很難理解如何一起使用 negroni 和 httprouter。我有幾條公共路線,例如/api/v1/ping我有一堆需要身份驗(yàn)證中間件的私有路由,例如/api/v1/user如果我想要所有路由都使用 negroni 通用中間件,但我想將 auth 中間件和其他中間件僅應(yīng)用于私有路由,我該如何設(shè)置?v1.router := httprouter.New()v1.router.GET("/api/v1/ping", v1.ping)v1.router.GET("/api/v1/user", v1.getUsers)n := negroni.Classic()n.UseHandler(v1.router)http.ListenAndServe(port, n)
查看完整描述

1 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以嘗試采用“?Go 中的路徑前綴中間件net/http/#ServeMux”中描述的技術(shù),該技術(shù)將, 與另一個(gè)路由器 ( ) 一起使用,但也gorilla/mux應(yīng)該有效:julienschmidt/httprouter

根據(jù)路由前綴指定中間件

這就是神奇發(fā)生的地方,也是事情變得混亂的地方。

我發(fā)現(xiàn)為路徑前綴指定中間件的簡單方法是設(shè)置第二個(gè)復(fù)用器(我們使用sirMuxalot下面的變量),它具有我們想要應(yīng)用中間件的路徑前綴,然后傳入包裝在其中的原始路由器這些路由的一些中間件。

這是可行的,因?yàn)?code>sirMuxalot除非我們定義的路徑前綴與傳入的 Web 請求的路徑匹配,否則路由器永遠(yuǎn)不會調(diào)用中間件包裝的路由器。

sirMuxalot?:=?http.NewServeMux()
sirMuxalot.Handle("/",?r)
sirMuxalot.Handle("/api/",?negroni.New(
????negroni.HandlerFunc(APIMiddleware),
????negroni.Wrap(r),
))
sirMuxalot.Handle("/dashboard/",?negroni.New(
????negroni.HandlerFunc(DashboardMiddleware),
????negroni.Wrap(r),
))

n?:=?negroni.Classic()
n.UseHandler(sirMuxalot)
http.ListenAndServe(":3000",?n)


查看完整回答
反對 回復(fù) 2023-07-31
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號