REST
REST - REpresentational State Transfer
- Client-Server Trennung
- Stateless
- Kurze Request-Response Kommunikation
- Einheitliches Interface
- URI - Uniform Resource Identifier
- Resourcen getrennt von ihrer Repräsentation
- Cachebar
- Zugriff üblicherweise über HTTP
HTTP

URL - Uniform Resource Locator
protocol://hostname:port/path?field=value
Request
GET http://www.htlstp.ac.at/logo
Accept: image/webp, image/apng, image/*, */*;q=0.8
POST http://www.htlstp.ac.at/api/teachers/
Content-Type: application/json
{
"name": "SCRE",
"dept": "IF"
}
Response
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 18 May 2020 18:08:47 GMT
Content-Type: image/png
Content-Length: 4663
Connection: keep-alive
Expires: Mon, 25 May 2020 04:35:30 +0200
PNG
IHDR
N£%É;%ÚCl³Úí:º0ºRî`Ýze++¡·1Úqõ.¥ôBëm7¹·îd%á
...Request Methoden
- GET
GET http://www.appdomain.com/users GET http://www.appdomain.com/users/123 GET http://www.appdomain.com/users?size=20&page=5- lädt die angegebene Resource
- sollte bei jedem Aufruf dasselbe Resultat liefern
- DELETE
DELETE http://www.appdomain.com/users/123- löscht die angegebene Resource
- POST
POST http://www.appdomain.com/users Content-Type: application/json
{resource}- Resource im RequestBody speichern
- Response sollte URI der angelegten Resource sein
- PUT/PATCH
PUT http://www.appdomain.com/users/123 Content-Type: application/json
{resource}- Resource im RequestBody unter Request-URI ersetzen/updaten
Status Codes
- 200 - OK
- 400 - Bad Request
- Request fehlerhaft, später sicher Fehler
- Bestellt Kebab bei McDonalds
- 500 - Internal Server Error
- Request ok, Serverfehler, später vielleicht Erfolg
- Bestellt Pommes, die sind noch nicht fertig
- 201 - Created
- 204 - No Content
- nach DELETE
- 404 - Not Found