Rechnernetze / Kommunikationssysteme

Praktikumsversuch Representational State Transfer (REST)

Dieses Praktikum dient dem Verständnis des REST-Paradigmas und der praktischen Erprobung einer REST-API.

Vorbereitung

REST-API Prinzipien

HATEOAS

Die Server-Antwort sollte Weiterverfolgungs-Links enthalten, z.B.:

"links": {
            "self":  "/quizzes/12345"
            "get":   "/quizzes/12345"
            "solve": "/quizzes/12345/solve"
        }

Das Ziel ist eine weitgehende Entkopplung des Clients von der Server-API.

Same-Origin Policy (SOP)

Cross-Origin Resource Sharing (CORS)

Aufgaben

Wir nutzen für unserer Versuche CURL und die API des WebQuiz-Server auf Server idefix.

API WebQuiz

Vorgang Methode URL Daten Antwort
Register new user POST /register "email":"", "password":"" HTTP 200, 400
Create a quiz POST /quizzes "title":"" , "text":"", "options":["a","b"], "answer": [0,1] id, title, text, options
Get a quiz GET /quizzes/id   id, title, text, options
Get all quizzes GET /quizzes?pages=0   Array
Solving a quiz POST /quizzes/id/solve [0,1] success, feedback
Get all completed quizze GET /quizzes/completed   Array
Deleting a quiz DELETE /quizzes/id   HTTP 204, 403, 404

Literatur

Ergebnisse

Sinnvolle Verlinkung der Antworten, je nach Zustand:

  1. Links: create user
  2. Links: create quiz
  3. Links: get quiz, solve quiz, create quiz, delete quiz

Fakultativ

Zugriff mittels JavaScript


Letzte Änderung: 11. April 2025 15:30