https://github.com/kevcodez/metronom-rest-api
Metronom Verkehrsmeldungen
https://github.com/kevcodez/metronom-rest-api
docker gradle kotlin metronom public-transport public-transportation spring-boot-2 spring-rest swagger-ui swagger2
Last synced: 8 months ago
JSON representation
Metronom Verkehrsmeldungen
- Host: GitHub
- URL: https://github.com/kevcodez/metronom-rest-api
- Owner: kevcodez
- License: mit
- Created: 2016-07-17T16:55:54.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2019-01-23T21:32:51.000Z (over 6 years ago)
- Last Synced: 2025-01-01T18:33:05.699Z (9 months ago)
- Topics: docker, gradle, kotlin, metronom, public-transport, public-transportation, spring-boot-2, spring-rest, swagger-ui, swagger2
- Language: Kotlin
- Homepage:
- Size: 318 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# metronom
API um Verkehrsmeldungen vom Metronom abzufragen.
Das Projekt basiert auf Spring Boot 2.
# Lokal starten
Voraussetzungen:
* Java 8+ ist installiert
```
git clone https://github.com/kevcodez/Metronom-REST-API.git
cd Metronom-REST-API
# Für Windows gradlew.bat nutzen
./gradlew build
java -jar ./build/libs/metronom-0.0.1-SNAPSHOT.jar
```# REST-API
Das Projekt nutzt Swagger 2 samt Swagger-UI. Erreichbar unter `/swagger-ui.html`
Beispiel: http://localhost:8080/swagger-ui.html
## Alerts
##### GET /alert
Gibt eine Liste von allen aktuellen Meldungen aus.
##### GET /alert/since/`Datum in ISO-8601`
Gibt eine Liste von allen Meldungen ab dem übergebenen Datum aus.
##### GET /alert/contains/`text`
Gibt eine Liste von allen Meldungen aus, die den übergebenen `text` enhalten.
#### Beispiel-Response
```[{"id":"43702","message":"Wegen einer Störung verkehrt Zug 82815 von Uelzen nach Hannover mit einer Verspätung von ca. +44 Minuten ab Uelzen (planmäßige Abfahrt 11:09 Uhr)","creationDate":"2016-08-07T11:59:22","stationStart":{"name":"Uelzen","code":"HU"},"stationEnd":{"name":"Hannover","code":"HH"},"plannedDeparture":"11:09"},{"id":"43701","message":"Wegen Krankmeldung des Lokführers muss Zug 82816 von Göttingen nach Uelzen heute leider entfallen (planmäßige Abfahrt 12:09 Uhr), Fahrgäste nutzen bitte den Folgetakt","creationDate":"2016-08-07T11:33:22","stationStart":{"name":"Göttingen","code":"HG"},"stationEnd":{"name":"Uelzen","code":"HU"},"plannedDeparture":"12:09"},{"id":"43700","message":"Wegen einer Türstörung wird sich die Abfahrt von 82815 Uelzen nach Hannover voraussichtlich ca. 10 - 15 Minuten verzögern (planmäßige Abfahrt 11:09 Uhr)","creationDate":"2016-08-07T11:06:22","stationStart":{"name":"Uelzen","code":"HU"},"stationEnd":{"name":"Hannover","code":"HH"},"plannedDeparture":"11:09"},{"id":"43699","message":"Wegen Verspätung des Eingangszuges verkehrt Zug 81614 von Lüneburg nach Hamburg mit einer Verspätung von ca. +11 Minuten ab Lüneburg (planmäßige Abfahrt 9:32 Uhr)","creationDate":"2016-08-07T09:51:22","stationStart":{"name":"Lüneburg","code":"ALBG"},"stationEnd":{"name":"Hamburg","code":"AH"},"plannedDeparture":"09:32"}]```
## Routes
##### GET /route
Gibt eine Liste von allen Strecken aus.
#### GET /route/stop/`stop`
Gibt alle Strecken, welche die Haltestelle `stop` enthalten, z.B. Hamburg-Harburg.
#### GET /route/name/`name`
Gibt die Strecke mit dem Namen `name`, z.B. Elbe-Takt.
#### GET /route//to/`stop`
Gibt die Strecken, in dem die Haltestelle `start` UND die Haltestelle `stop` vorkommt.
#### Beispiel
```[{"name":"Elbe-Takt","trains":["RB 31","RE 3"],"stations":[{"name":"Hamburg","code":"AH"},{"name":"Hamburg-Harburg","code":"AHAR"},{"name":"Meckelfeld","code":"AMDH"},{"name":"Maschen","code":"AMA"},{"name":"Stelle","code":"ASTE"},{"name":"Ashausen","code":"AASN"},{"name":"Winsen","code":"AWI"},{"name":"Radbruch","code":"ARH"},{"name":"Bardowick","code":"ABAD"},{"name":"Lüneburg","code":"ALBG"},{"name":"Bienenbüttel","code":"ABIL"},{"name":"Bevensen","code":"ABVS"},{"name":"Uelzen","code":"HU"}]}]```
## Stations
#### GET /station
Gibt eine Liste von allen Haltestellen.
#### GET /station/name/`name`
Gibt die Haltestelle mit dem Namen `name`.
#### GET /station/code/`code`
Gibt die Haltestelle mit dem Kürzel `code`.
#### Beispiel
```{"name":"Hamburg-Harburg","code":"AHAR"}```
## StationDelay
#### GET /stationDelay/`name`
Gibt die Verspätungsinformationen zu der Haltestelle `name`.
#### GET /stationDelay/code/`code`
Gibt die Verspätungsinformationen zu der Haltestelle mit dem Kürzel `code`.
#### Beispiel
```{"station":{"name":"Maschen","code":"AMA"},"time":"13:30","departures":[{"time":"14:00","train":"81622","targetStation":{"name":"Hamburg","code":"AH"},"delayInMinutes":0,"track":null},{"time":"14:54","train":"81623","targetStation":{"name":"Lüneburg","code":"ALBG"},"delayInMinutes":0,"track":null}]}```
## DeparturesWithAlert
#### GET /departure/station/`station`
Gibt die Verspätungsinformationen und relevanten Störmeldung zu der Haltestelle `station`.
#### Beispiel
```{"departures":[{"departure":{"time":"14:01","train":"82120","targetStation":{"name":"Hamburg","code":"AH"},"delayInMinutes":0,"track":null},"alert":null},{"departure":{"time":"14:09","train":"82821","targetStation":{"name":"Göttingen","code":"HG"},"delayInMinutes":0,"track":null},"alert":null},{"departure":{"time":"15:01","train":"82122","targetStation":{"name":"Hamburg","code":"AH"},"delayInMinutes":0,"track":null},"alert":null},{"departure":{"time":"15:09","train":"82823","targetStation":{"name":"Göttingen","code":"HG"},"delayInMinutes":0,"track":null},"alert":null}],"remainingAlerts":[]}```