REST-Service

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hey Ho Leute,

    mein aktuelles Projekt ist eine Zutrittskontrolle.
    Auch ist schon bereits ein Thread offen (Bitte in den Websprachen-Bereich schieben, Danke)

    Warum ich jetzt hier nochmal einen eröffne ist, ich benötige Hilfe bei Teil der Kommunikation und das betrifft speziell den Bereich Websprachen von PI (Python) und Server (PHP).

    Kurz das Szenario:

    1. Ausweisnummer im QR-Code wird vom PI gelesen
    2. PI sendet die Ausweisnummer per REST-Service an Server
    3. Server nimmt Anfrage entgegen und prüft in der Datenbank ob Ausweisnummer vorhanden ist
    4. Server sendet "OK" an PI

    Nun benötige ich ein Beispiel das zur Lösung führt oder eine Lösung für den Schritt 3 und 4.

    Ich bin auch bereit eine kleine Belohnung zu zahlen, wenn mir jemand sein Beispiel im Teamspeak erklärt.

    Einmal editiert, zuletzt von Mazsau (13. Dezember 2016 um 22:15)

    • Offizieller Beitrag

    Du brauchst einen der dir ein Beispiel für ne php/sqlite|mysql abfrage in den Thread kopiert?
    [code=php]
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT id, firstname, lastname FROM MyGuests";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
    }
    } else {
    echo "0 results";
    }
    $conn->close();
    ?>[/php]

    Wen du dann den return code auf 200 (http_response_code()) bei erfolgreichem Abfrageergebnis setzt sollte das dein python script auch mitkriegen. (so wie __deets__ da auch in dem anderen Thread vorgeschlagen hat). Ich hab nicht wirklich viel Ahnung von dem Web-Zeug, gefühlt sollte es so gehen.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (13. Dezember 2016 um 22:10)

  • Sorry ich glaube ich habe mich falsch ausgedrückt.
    Ich meine ich brauche ein Beispiel für "3. Server nimmt Anfrage entgegen und prüft in der Datenbank ob Ausweisnummer vorhanden ist"

    Ich verstehe einfach die Funktionsweise noch nicht. Die PHP Seite auf dem Server muss doch aus dem Request der vom PI kommt den Wert (Ausweisnummer) herausfiltern und dann verarbeiten.

  • Sie bekommt die Parameter so wie *jede* HTTP-Seite: per GET oder POST Parameter, und ggf. per Pfad (das waere dann noch eine Spur RESTiger). Bau dir einfach eine Webseite, auf der ein Formular ist zur Eingabe deines QR-Codes. So wie in deinem tollen Tutorial. Und schick das Formular ab, werte den Parameter aus, ob der in deiner DB ist & passt und was auch immer du da tun willst, und reagiere entsprechend. ZB mit den freundlichen Worten "OK" oder "HAU AB".

    Und wenn du das laufen hast, rufst du dieselbe PHP-Seite mit "http://meinserver.com/meinpfad.php?qrcode=<wert>" per Python (oder Java, wo du jetzt drauf stehst) auf - und SIMSALABIMBUMBOM, du hast einen REST-Service-Call gemacht. Werte entweder den Text aus, oder eben wie schon mal erwaehnt (ist aber natürlich alles keine Hilfe, nur sinnlose Diskussion....) den HTTP-Returncode.

    Last but not least kann man als Sternchenaufgabe mit den Accept-Headern oder URL-Suffixen spielen, und zB einen JSON-Body zurückgeben.


  • Sie bekommt die Parameter so wie *jede* HTTP-Seite: per GET oder POST Parameter, und ggf. per Pfad (das waere dann noch eine Spur RESTiger). Bau dir einfach eine Webseite, auf der ein Formular ist zur Eingabe deines QR-Codes. So wie in deinem tollen Tutorial. Und schick das Formular ab, werte den Parameter aus, ob der in deiner DB ist & passt und was auch immer du da tun willst, und reagiere entsprechend. ZB mit den freundlichen Worten "OK" oder "HAU AB".

    Und wenn du das laufen hast, rufst du dieselbe PHP-Seite mit "http://meinserver.com/meinpfad.php?qrcode=<wert>" per Python (oder Java, wo du jetzt drauf stehst) auf - und SIMSALABIMBUMBOM, du hast einen REST-Service-Call gemacht. Werte entweder den Text aus, oder eben wie schon mal erwaehnt (ist aber natürlich alles keine Hilfe, nur sinnlose Diskussion....) den HTTP-Returncode.

    Last but not least kann man als Sternchenaufgabe mit den Accept-Headern oder URL-Suffixen spielen, und zB einen JSON-Body zurückgeben.

    Danke für die Erläuterung. Die Funktionsweise ist jetzt klar und habe nun auch mit Hilfe von einem Tutorial herausgefunden wie man es auch in die Praxis umsetzt.

    https://www.leaseweb.com/labs/2015/10/c…est-api-in-php/

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!