Skip to content

Davicito81/task_dev-rest-api

Repository files navigation

task_dev-rest-api

Laravel Logo

Anleitung zur Einrichtung und Nutzung der Laravel REST-API

Diese Anleitung bietet eine schrittweise Erklärung zur Einrichtung und Nutzung der REST-API - zum Aufrufen und Bearbeiten von Produkten - in einer Docker-Umgebung. Sie ist für Anwender konzipiert, die die Anwendung zum ersten Mal aufsetzen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass folgende Software auf Ihrem System installiert ist:

Projekt herunterladen

  1. Klonen Sie das Repository: Öffnen Sie ein Terminal oder eine Eingabeaufforderung und führen Sie folgenden Befehl aus:

    git clone https://github.com/Davicito81/task_dev-rest-api.git
    cd task_dev-rest-api

    Falls Git nicht installiert ist, können Sie das Projekt auch als ZIP-Datei direkt von GitHub herunterladen:

    Besuchen Sie https://github.com/Davicito81/task_dev-rest-api Klicken Sie auf Code und dann auf Download ZIP Entpacken Sie die ZIP-Datei und navigieren Sie in das Projektverzeichnis.

Projekt-Testumgebung herstellen

Nach dem das Projekt heruntergeladen wurde, müssen wichtige Abhänigkeiten im Framework Laravel nachinstalliert werden. Dazu füren Sie folgenden Befehl aus.

composer install

Hinweis für die lokale Verwendung der Rest-API

  • Zum Ausführen ohne Docker-Umgebung, muss die PHP-8.2 vorhanden sein und
  • die notwendige PHP-Extension: cli, mbstring, xml, curl, mysql, gd

Docker-Umgebung starten**

Navigieren Sie im Terminal oder in der Eingabeaufforderung zum Projektverzeichnis und führen Sie folgenden Befehl aus:

docker-compose up -d

Dieser Befehl startet alle benötigten Dienste im Hintergrund.

Datenbankmigrationen ausführen**:

Führen Sie die Migrationen aus, um die Datenbanktabellen zu initialisieren und die Standardprodukte in die Tabelle "products" zu migrieren:

docker-compose exec app php artisan migrate
docker-compose exec app php artisan db:seed --class=ProductsSeeder

Nutzung der REST-API**:

Übersicht aller möglichen Routen

Verfügbare API-Routen

Method URI Name Action
GET /api/products products.index App\Http\Controllers\ProductController@index
POST /api/products products.store App\Http\Controllers\ProductController@store
POST /api/products/jsonList App\Http\Controllers\ProductController@storeJsonList
GET /api/products/{product} products.show App\Http\Controllers\ProductController@show
PUT /api/products/{product} products.update App\Http\Controllers\ProductController@update
DELETE /api/products/{product} products.destroy App\Http\Controllers\ProductController@destroy

Diese Darstellung kann durch folgenden Docker Befehl abgerufen werden

docker-compose exec app php artisan route:list   

Produkte ansehen

  • URL: localhost:9000/api/products
  • Methode: GET

Produkt abfragen

  • URL: localhost:9000/api/products/{id}
  • Methode: GET

Produkt hinzufügen

  • URL: localhost:9000/api/products
  • Methode: POST
  • Daten:
    {
        "title": "[Titel des Produktes]",
        "description":"[Beschreibung des Produktes]",
        "category": "[Kethegorie des Produktes]",
        "state":"[true|false]"   // das Attribute 'state' muss nicht zwingend angegeben werden.
    }        
    

Produkte hinzufügen

  • URL: localhost:9000/api/products/jsonList
  • Methode: POST
  • Daten:
    [
        {
            "title": "[Titel des Produktes]",
            "description": "[Beschreibung des Produktes]",
            "category": "[Kethegorie des Produktes]",
            "state":  "[true|false]",   // das Attribute 'state' muss nicht zwingend angegeben werden.
        },
        {
            "title": "[Titel des Produktes]",
            "description": "[Beschreibung des Produktes]",
            "category": "[Kethegorie des Produktes]",
            "state": "[true|false]"   // das Attribute 'state' muss nicht zwingend angegeben werden.
        },
        ...
    ]        
    

Produkt aktualisieren

  • URL: localhost:9000/api/products/{id}
  • Methode: PUT
  • Daten:
    {
        "title": "[Titel des Produktes]",
        "description": "[Beschreibung des Produktes]",
        "category":  "[Kethegorie des Produktes]",
        "state" : "[true|false]"   // das Attribute 'state' muss nicht zwingend angegeben werden.
    }        
    

Produkt aktualisieren

  • URL: localhost:9000/api/products/{id}
  • Methode: DELETE

Support**:

Bei Problemen oder Fragen zur Einrichtung oder Nutzung der API können Sie gerne ein Issue im GitHub-Repository erstellen oder den technischen Support kontaktieren.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published