ルートにはGolang Gorilla Toolkitの Mux パッケージを使用しています。
次のルートを検討してください。
m.HandleFunc("/admin/install", installHandler).Methods("GET")
m.HandleFunc("/admin/^((?!install).)*$", adminHandler).Methods("GET")
m.HandleFunc("/admin", adminHandler).Methods("GET")
問題は中間ルートの正規表現にあります - 解釈されないため、ルートは機能しません!
m.HandleFunc("/admin/{^((?!install).)*$}", adminHandler).Methods("GET")
{} 中括弧でも機能しません。無視され、/admin/ として扱われます。
どちらもしません:
m.HandleFunc("/admin/{_dummy:^((?!install).)*$}", adminHandler).Methods("GET")
要するに、ここで達成しようとしているのは、最初に /admin/install ルートと一致させ、正規表現を使用して以下のルートから除外したい正確なルートを一致させることですが、うまくいきません。
gorilla mux パッケージで正規表現を使用する方法はありますか?