04

Crow Demo Backend

Ein REST-Backend in C++ auf dem Crow-Framework, das Geräte (Laptops und Server) aus einem In-Memory-Speicher nach dem Repository-Pattern ausliefert. Gebaut mit CMake FetchContent.

Sprache
C++
Jahr
2026
Team
Solo
Stack
  • C++
  • Crow
  • CMake
  • REST
HTTP
Crow-App · main.cpp
Speicher
  • CMake
  • FetchContent
  • Crow

Funktionen

  • Geräte unter /devices anlegen, abrufen, ändern und löschen.
  • Zwei Gerätetypen: Laptops mit Akkulaufzeit und Server mit RAM und Kernen.
  • Jeder JSON-Body wird geprüft, Fehler kommen als 400 Bad Request mit einer Meldung zurück.
  • IDs sind eindeutig; ein zweites Gerät mit derselben ID wird abgelehnt.
  • Fertige Testanfragen für jeden Endpunkt in einer .http-Datei.

So ist es gebaut

C++ mit dem Header-only-Framework Crow, das CMake beim Build über FetchContent lädt. Ein Build-Skript konfiguriert und baut das Projekt und startet den Server auf Port 3000.

Die Geräte nutzen Vererbung: Laptop und Server erben von einer abstrakten Klasse Device und überschreiben getSpecs(). Die Speicherung beschreibt ein Interface IDeviceRepository, implementiert im Speicher; die Routen bekommen die In-Memory-Klasse direkt übergeben.

Die Routen werden in je einer kleinen Funktion pro HTTP-Methode registriert. Eingehendes JSON liest Crows JSON-Reader, und daraus entsteht der passende Gerätetyp oder eine Fehlermeldung.