Open andimeier opened 7 years ago
umzubauen:
page.render(...parts)
ersetzt wird, sodass auch Query-Parameter an die Seite übergeben werden könnenutils.go()
mitbetrachten - auch hier wird zu einer Seite mitsamt Parametern gegangenMöglicher Ansatz:
Umbau auf node-style URL-Parameter, dh eine Page hat nicht nur setTitle
und render
, sondern auch so etwas wie getParams
, um die Parameter aus der URL rauszuziehen. Oder generischer Mechanismus.
Könnte so sein: Expression ist festgelegt pro Page, zB für die Page "artifacts":
artifacts/:artifactId
Daraus würde der generische Route-Parser dann machen:
Und einer page-render-Funktion würde dann übergeben werden:
page.render(params, query)
Wobei params wäre in diesem Fall:
{
artifactId: '12'
}
und Query wären die Query-Parameter.
Aus dem generischen Code heraus sind natürlich sämtliche Parameter String-Parameter, weil HTTP ja nichts anderes kennt. Um die Konvertierung muss sich dann die jeweilige page-render-Funktion kümmern.
Unbekannte Parameter: throw Ex. Darf nicht vorkommen aus einer echte URL heraus (dann hat der Parse-Mechanismus einen Bug). Bzw. wenn intern zusammengebastelt, ist das auch ein Programmfehler.
Einstiegs-URL sollte sein können:
oder auch: