API für das Demo-Projekt "Fahrzeugsuche" im Zuge des Praxisworkshops an der DigiHAK Neumarkt.
Inhalt:
- php REST-API
- MVC Muster (Model View Controller)
- MySQL Datenbank
-
XAMPP (= Apache WebServer + MySQL-Server) downloaden und installieren https://www.apachefriends.org/de/index.html
-
Apache Web Server Port auf 8080 ändern
-
Postman (= API client) downloaden: https://www.postman.com/downloads/
Am einfachsten geht das Setup via phpMyAdmin-Oberfläche (sie phpMyAdmin).
Eine neue Datenbank mit dem Namen car_search
erstellen.
Im ordner sql, in der Datei database.sql ist das entsprechende SQL-Statement zum erstellen der Datenbank zu finden.
- Datebank
car_search
auswählen - in der oberen Menüleiste auf Importieren klicken
- die KOMPRIMIERTE Datei car_search.sql.zip (aus dem Ordner sql) hochladen
- auf "Importieren" klicken
Die Tabellen sollten nun angelegt und befüllt worden sein:
- Direkt im Root-Verzeichnis (auf der selben Ebene wie das
index.php
) eine neue Dateiconfig.php
erstellen. - Den Inhalt aus der Datei config.dist.php kopieren und die enstprechenden Werte für die eigene Datenbank eintragen.
- Webserver: http://localhost:8080
- phpMyAdmin: http://localhost:8080/phpmyadmin/
- MySQL DB: Port 3306
/digihak-car-search/brands
Parameter: keine
→ gibt alle verfügbaren Marken zurück
/digihak-car-search/cars
Parameter:
- brandId (= required)
- model
- registration
- mileage
- fuelId
→ gibt alle Fahrzeuge die den Filter-Kriterien (= Parameter) entsprechen zurück
/digihak-car-search/cars/models
Parameter:
- brandId (= required)
→ gibt alle Modelle einer Marke zurück
/digihak-car-search/cars/registrations
Parameter:
- brandId (= required)
- model (= required)
→ gibt alle Erstzulassungsjahre die den Filter-Kriterien (= Parameter) entsprechen zurück
/digihak-car-search/cars/fuels
Parameter:
- brandId (= required)
- model (= required)
- registration (= required)
→ gibt alle Krafstoffarten die den Filter-Kriterien (= Parameter) entsprechen zurück
digihak-car-search/cars/rating
Parameter:
- brandId (= required)
- model (= required)
- registration (= required)
- mileage (= required)
- fuelId (= required)
→ gibt alle Fahrzeuge die den Filter-Kriterien (= Parameter) entsprechen mit der entsprechenden Fahrzeugbewertung zurück.
Alle API-Endpunkte sind auch in dieser Postman-Collection zu finden: