it-swarm.com.de

Erstellen einer REST API mit PHP

Ich erstelle meine erste API, an die ich die Antwort im JSON-Format erhalten soll, wenn zwei Werte übergeben werden. Die Nummer wird per POST als Parameter übergeben. Entweder mit cURL oder mit einer beliebigen POST -Methode.

Auch wenn dies eine sehr grundlegende Vorgehensweise ist, möchte ich die Best Practices kennen und die API sollte auf Modell-Controller-Basis erstellt werden. Nicht nur einfaches PHP.

Ich habe für viele REST API-Tutorials gegoogelt. Sie waren gut und ich habe einige Kenntnisse darüber erworben.

Aber ich möchte ein Beispielmodell des Codes erhalten, damit ich darauf verweisen und mein eigenes erstellen kann, und dieses Beispiel natürlich in der Standardpraxis, eine echte REST - API zu erstellen.

Wenn Sie mich fragen, was ich ausprobiert habe, würde es wirklich Spaß machen, als Anfänger könnte ich nur Folgendes tun:

$num1 = $_REQUEST['num1'];
$num2 = $_REQUEST['num2'];

$total = $num1 + $num2;
echo json_encode($total);

Natürlich kann dies niemals als API bezeichnet werden, aber dennoch. Wenn ich darauf eine POST - Antwort gebe, möchte ich die Antwort von der REST - API als JSON. Ich sollte es auch mit der REST - Konsole testen können, damit ich eine Standardantwort erhalte.

Bitte stellen Sie mir eine sehr einfache, aber dennoch standardmäßige RESTful-API zur Verfügung.

49
Piya

In Ihrem Beispiel ist es in Ordnung: Es ist einfach und funktioniert. Die einzigen Dinge, die ich vorschlagen würde, sind:

  1. validierung der geposteten Daten
  2. stellen Sie sicher, dass Ihre API den Header Content-Type sendet, um den Client anzuweisen, eine JSON-Antwort zu erwarten:

    header('Content-Type: application/json');
    echo json_encode($response);
    

Ansonsten ist eine API etwas, das eine Eingabe entgegennimmt und eine Ausgabe liefert. Es ist möglich, Dinge zu "übersteuern", indem Sie Dinge komplizierter machen, die notwendig sind.

Wenn Sie die Route von Controllern und Modellen beschreiten möchten, lesen Sie das MVC-Muster und finden Sie heraus, wie Ihre Domänenobjekte darin passen. Wenn ich mir das obige Beispiel anschaue, sehe ich vielleicht eine MathController mit einer add() Aktion/Methode.

Es gibt einige Startpunktprojekte für RESTful-APIs auf GitHub , die einen Blick wert sind.

72
Martin Bean

Der Versuch, eine REST API von Grund auf neu zu schreiben, ist keine einfache Aufgabe. Es gibt viele zu berücksichtigende Probleme, und Sie müssen viel Code schreiben, um Anforderungen und Daten des Aufrufers zu verarbeiten, Authentifizierung , Abrufen von Daten und Zurücksenden von Antworten.

Verwenden Sie am besten ein Framework, das diese Funktionalität bereits für Sie bereit und getestet hat.

Einige Vorschläge sind:

Phalcon - REST-API-Erstellung - Einfache Verwendung in einem Framework mit hoher Leistung

Apigility - Eine Einheitsgröße passt zum API Handling Framework von Zend Technologies

Laravel API-Tutorial

und viele mehr. Bei einfachen Suchen in Bitbucket/Github erhalten Sie zunächst eine Menge Ressourcen.

17