Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mdecker-mobilecomputing/maven_restapiserversprueche
Maven project with simple REST API to serve proverbs
https://github.com/mdecker-mobilecomputing/maven_restapiserversprueche
java jetty maven rest-api
Last synced: 10 days ago
JSON representation
Maven project with simple REST API to serve proverbs
- Host: GitHub
- URL: https://github.com/mdecker-mobilecomputing/maven_restapiserversprueche
- Owner: MDecker-MobileComputing
- License: bsd-3-clause
- Created: 2023-11-16T12:21:21.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-22T11:28:25.000Z (10 months ago)
- Last Synced: 2024-04-13T23:08:58.352Z (7 months ago)
- Topics: java, jetty, maven, rest-api
- Language: Java
- Homepage:
- Size: 76.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# REST-API-Server für Sprüche #
Dieses Repository enthält eine einfache Java-Applikation, die über den integrierten Webserver [Jetty](https://eclipse.dev/jetty/)
eine einfache REST-API bereitstellt. Dies dient zur Demonstration der Verwendung des Build-Management-Werkzeugs [Maven](https://maven.apache.org/).
----
## REST-API ##
Von der von Java-Applikation bereitgestellten REST-API können Sprüche/Zitate zu verschiedenen Kategorien (Themenbereichen) abgefragt werden.
### REST-Endpunkt `/kategorien`
Eine Übersicht aller Kategorien inkl. Anzahl der Sprüche bekommen wir durch den Aufruf des Endpunktes `/kategorien`.
Der REST-API-Server wird standardmäßig auf Port `8080` gestartet, also lautet die volle URL: http://localhost:8080/kategorienEs wird ein Array von Objekten zurückgegeben.
Jedes dieser Objekte repräsentiert eine Kategorie mit dem technischen Namen (ID) der Kategorie, einer Kurzbeschreibung und
der Anzahl der Sprüche.
```
[
{
"techName" : "INFO",
"beschreibung" : "Informatik",
"anzahlSprueche" : 8
},
{
"techName" : "WISS",
"beschreibung" : "Wissenschaft",
"anzahlSprueche" : 5
},
{
"techName" : "WIWI",
"beschreibung" : "Wirtschaftswissenschaften",
"anzahlSprueche" : 0
}
]
```### REST-Endpunkt `/sprueche`
Für eine bestimmte Kategorie, die über von `/kategorien` zurückgelieferten `techName` spezifiziert wird, kann durch Aufruf des folgenden
Endpunkts ein Spruch zurückgeliefert werden:
```
/sprueche?kategorie=&nummer=
```
Es sind also die beiden URL-Parameter `kategorie` und `nummer` zu spezifizieren.
Der Wert für den Parameter `nummer` kann hierbei auch der String "zufall" sein.Beispiel-URLs:
* http://localhost:8080/sprueche?kategorie=INFO&nummer=3
* http://localhost:8080/sprueche?kategorie=WISS&nummer=1
* http://localhost:8080/sprueche?kategorie=WISS&nummer=zufall
Ein erfolgreicher Aufruf dieses Endpunkts liefert ein JSON-Objekt zurück, das
zwei Key-Value-Paare enthält:* Der Key `erfolg` referenziert einen bool'schen Wert.
Dieser Wert ist genau dann `true`, wenn ein Spruch gefunden wurde.
* Der Key `text` referenziert den gefunden Spruch (`erfolg=true`) oder
die Fehlermeldung (`erfolg=false`).Beispiel für einen erfolgreichen Aufruf:
```
{
"text" : "Ein Mathematiker ist eine Maschine, die Kaffee in Theoreme umwandelt.",
"erfolg" : true
}
```
Beispiel für einen erfolglosen Aufruf:
```
{
"text" : "Keine oder keine gültige Kategorie spezifiziert",
"erfolg" : false
}
```
----
## License ##
See the [LICENSE file](LICENSE.md) for license rights and limitations (BSD 3-Clause License).