andimeier / hermes

0 stars 0 forks source link

"Latest versions": Query-Parameter vorsehen (für deep linking direkt zu einem Projekt hin) #134

Open andimeier opened 7 years ago

andimeier commented 7 years ago

Einstiegs-URL sollte sein können:

http://localhost:10067/#/latest-versions?projectId=3

oder auch:

http://localhost:10067/#/latest-versions?projectCode=MKV
andimeier commented 7 years ago

umzubauen:

Mö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.

andimeier commented 7 years ago

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.