From 4cca413880a17d9d31f5ed5c27a29286274ba290 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 24 Feb 2019 10:29:58 +0100 Subject: add support for /station.json --- index.pl | 3 +++ templates/layouts/default.html.ep | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/index.pl b/index.pl index 3e6332f..6df49ea 100644 --- a/index.pl +++ b/index.pl @@ -397,6 +397,9 @@ sub handle_request { $self->param( station => $station ); $self->stash( layout => 'text' ); } + elsif ( defined $station and $station =~ s{ [.] json $ }{}x ) { + $template = 'json'; + } # Historically, there were two JSON APIs: 'json' (undocumented, raw # passthrough of serialized Travel::Status::DE::IRIS::Result / diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep index ee39577..7649be5 100644 --- a/templates/layouts/default.html.ep +++ b/templates/layouts/default.html.ep @@ -203,9 +203,13 @@ Bitte eine Station aus der Liste auswählen hinzufügen, das ist bald aber nicht mehr nötig). Für eine große Ansicht (z.B. als alleinstehender Infoscreen) gibt es das "Infoscreen"-Frontend.
  • Die Parameter mode=json&version=3 + (alternativ auch https://dbf.finalrewind.org/Bahnhofsname.json?version=3) bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte - selbsterklärend sein. Bitte nur eine Anfrage pro Station und Minute + selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element, + stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben. + Bitte nur eine Anfrage pro Station und Minute – eine höhere Auflösung haben die Backenddaten ohnehin nicht.
  • Mit limit kann die Anzahl der angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B. -- cgit v1.2.3