Route
Parameters
path
The value "/a/b/c" in route "/a/b/c?p=q&s=t#xyz". The leading slash is optional.
queryParams
The map { "p" = "q"; "s" = "t" } in route "/a/b/c?p=q&s=t#xyz". Can be empty to indicate no params. Additionally, map values can be empty to indicate key-only parameters like "?p&s"
fragment
The value "xyz" in route "/a/b/c?p=q&s=t#xyz". If null, the final route will be fragment-less. Note that the empty-string fragment is a valid case which tells the browser to navigate to the top of the page.