Sie können überprüfen, wie Violetear mit dynamischen + Catchall-Mustern (Platzhaltermustern) umgeht. Dies ist nur eine Ergänzung zum Beispiel:
uuid := `[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}`
router.AddRegex(":uuid")
router.HandleFunc("/test/:uuid/:uuid", handleUUID, "GET,HEAD")
In diesem Fall kann die Anforderung 2 verschiedene haben UUIDS
Für eine Dynamik / einen Platzhalter könnte dies gelten:
http:
\______/\___/\________/
| | |
static |
dynamic
Ein regulärer Ausdruck kann verwendet werden, um der IP zu entsprechen:
router.AddRegex(":ip", `^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$`)
router.HandleFunc("/command/ping/:ip", ipHandler, "GET")
Oder einfach nur ein Fang aller erlaubten GET
und HEAD
nur Methoden:
router.HandleFunc("/command/ping/*", anyHandler, "GET, HEAD")
Weitere Beispiele finden Sie hier: https://violetear.org/post/how-it-works/