複雑なルートをサポートしていないように見えるか、少なくともそれがどのように機能するかがわかりません。次のようないくつかのルートがあります。
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)
ルートに次のようなものを追加しようとしました が、ルーターにそのようなメソッドがないと不平を言っています。
現在、ハンドラー内で「カスタム」条件を処理しています。