9

複雑なルートをサポートしていないように見えるか、少なくともそれがどのように機能するかがわかりません。次のようないくつかのルートがあります。

router := mux.NewRouter()
router.HandleFunc("/{productid}/{code}", product)
router.HandleFunc("/{user}", userHome)
router.HandleFunc("/search/price", searchPage)

だから私は2つの質問があります:

  • /search/price/29923/rage/200/color=red などのリクエストが一致するように、 /search/price/* などのワイルドカード ルートを定義するにはどうすればよいですか?

  • カスタム条件を既存のルートに追加することはできますか? たとえば、ルートが/{productid}/{code}で、関数 x が返す場合はtrue、これを使用し、usehandlerTrueを返す場合は、これをfalse使用しますhandlerFalse

.MatcherFunc(myfunction(ip)bool)ルートに次のようなものを追加しようとしました が、ルーターにそのようなメソッドがないと不平を言っています。

現在、ハンドラー内で「カスタム」条件を処理しています。

4

4 に答える 4