0
こんにちは私はjustinas/aliceを使用しています。パスに基づいて異なるミドルウェアを作成したいと思います。つまり、私はパス1とパス2を持っている場合、私はM1、M2を適用したい、パス1とM1のため立方メートル、パス2GOで異なるミドルウェアを異なるパスに使用するにはどうすればよいですか?
用平方メートル私が試した:
- を最初の2つのマルチプレクサルーターの作成:
router := mux.NewRouter() router2 := mux.NewRouter()
- それらにパスを割り当てます。
router.HandleFunc(path1,Func1) router2.HandleFunc(path2,Func2)
- それから私は、この
middlewares:=alice.New(m1,m2).Then(router2) middlewaress:=middlewares.Append(middlewares)
のようなものを持っていると思った - その後:
if err := http.ListenAndServe(fmt.Sprintf(":%d", sconf.Server.Port), middlewaress); err != nil {
}
は、どのように私はこのような何かを行うことができますか?
これを実行するとエラーにつながる:alice.Newに引数タイプhttp.Handlerとしてはfunc1(タイプFUNC(http.ResponseWriter、* http.Request))を使用することはできません(M1、M2、M3).Then – user6638204
@ user6638204あなたの関数を 'http.HandlerFunc' ala'にラップする必要があります。(http.HandlerFunc(func1)) ' – michael60612