普通网友 2017-07-20 09:57
浏览 194
已采纳

如何从大猩猩mux.Router过滤一些路径

I would like to match only some routes from a mux.Router, and use the same handler for all the others. How can I do this?

i.e.: having these paths:

/general/baz/bro
/general/foo/bar
/general/unknown

I would like to match the first with a specific handler, and all the others with a default handler.

I've tried with no success something like:

r.Methods("GET").PathPrefix("/general").Handler(defaultHandler)
r.Methods("GET").Path("/general/baz/bro").Handler(bazBroHandler)

I was expecting the bazBroHandler handling the /general/baz/bro path, and the defaultHandler all the other starting with /general

  • 写回答

2条回答 默认 最新

  • doudou7361 2017-07-24 11:22
    关注

    In the end I've just realized that I needed to invert the order:

    r.Methods("GET").Path("/general/baz/bro").Handler(bazBroHandler)
    r.Methods("GET").PathPrefix("/general").Handler(defaultHandler)
    

    now everything is working!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?