Mehrere optionale Parameter der route in Express?

Ich bin mit Express zu behandeln, eine route, die im format /articles/:year/:month/:day, in denen Jahr, Monat und Tag sind optionale.

  • Wenn keiner der drei Parameter angegeben ist, werden alle Artikel zurückgegeben werden;
  • Wenn year gegeben ist, die Artikel von diesem Jahr zurückgegeben werden;
  • Wenn Jahr und Monat angegeben sind, Artikel, die Jahr und Monat zurückgegeben werden;
  • Wenn alle drei Parameter gegeben sind, Artikel, die Jahr, Monat und Tag zurückgegeben werden.

Meine Frage ist, wie kann ich optional machen? Mit der aktuellen route, die ich definiert habe, es sei denn, alle drei Parameter vorhanden sind, wird es nicht aufgelöst werden können und gehören in die default-route.

  • Sie können mehrere Routen definieren, für den Fall, wenn ein Jahr vorhanden ist, das Jahr und die Monate sind vorhanden, alle Parameter vorhanden sind und keine vorhanden sind , oder Sie verschieben die Parameter für die Abfrage-Zeichenfolge
  • Sie können auch optional machen, indem Sie ein ? nach Ihnen
  • Danke für Eure Ratschläge. Sie sind wirklich hilfsbereit und Sie passen gut in mein use-case. Ich habe letztendlich die Lösung entschieden, die aus hjpotter92 obwohl, wie es auch ruhig elegant und Ergebnis in kürzerer code. Danke nochmal für Eure Hilfe sowieso.
  • Vielen Dank für Ihre Beratung! Kann nicht glauben, ich habe übersehen, wie wichtig info, wenn ich den guide durchlesen. Ich ' ll definitiv gehen wieder RTFM. Wollen Sie formal setzen Sie Ihre Antwort unter? Ich werde es akzeptieren, wenn so.
InformationsquelleAutor CLDev | 2017-01-19
Schreibe einen Kommentar