Wie man bessere APIs entwickelt Teil 3

11. Gib die bei POST erstellte Ressource zurück Es ist eine gute Idee, die erstellte Ressource zurückzugeben, nachdem sie mit einer POST-Anfrage erstellt wurde. Das ist vor allem deshalb wichtig, weil die zurückgegebene, erstellte Ressource den aktuellen Zustand der zugrundeliegenden Datenquelle widerspiegelt und vielleicht aktuellere Informationen enthält (z. B. eine generierte ID). // Request: POST /users{    „email“: „jdoe@averagecompany.com“,    „name“: „John Doe“}// Response{    „id“: „T9hoBuuTL4“,    „email“: „jdoe@averagecompany.com“,    „name“: „John Doe“} 12. […]

Wie man bessere APIs entwickelt Teil 2

6. Akzeptiere API-Schlüssel-Authentifizierung Wenn eine API von einer dritten Partei aufgerufen werden muss, ist es sinnvoll, die Authentifizierung über API-Schlüssel zuzulassen. API-Schlüssel sollten mit einem benutzerdefinierten HTTP-Header (z. B. Api-Key) übergeben werden. Sie sollten ein Ablaufdatum haben, und es muss möglich sein, aktive Schlüssel zu widerrufen, damit sie ungültig gemacht werden können, falls sie kompromittiert werden. Vermeide das Einchecken von API-Schlüsseln in die Versionskontrolle (verwende stattdessen Umgebungsvariablen). 7. Verwende sinnvolle HTTP-Statuscodes Verwende konventionelle HTTP-Statuscodes, um […]

Wie man bessere APIs entwickelt Teil 1

Wenn man eine API von Grund auf neu erstellt, muss man viele Details beachten. Von grundlegenden Sicherheitsüberlegungen bis hin zur Verwendung der richtigen HTTP-Methoden, der Implementierung von Authentifizierung, der Entscheidung, welche Anfragen und Antworten man akzeptiert und zurückgeben sollte, … die Liste ist endlos. In diesem Beitrag wird versucht, die Punkte zu betrachten, die nützlich sein können, um eine gute API zu entwicklen. Eine API, die gerne benutzt wird. Alle Tipps sind sprachunabhängig und gelten […]

Wie man ein Dictionary in Python sortiert

Dictionaries eignen sich am besten für die Suche nach Schlüsselwerten: Wir geben einen Schlüssel (key) an und das Dictionary liefert sehr schnell den entsprechenden Wert (value).Aber was ist, wenn man sowohl nach Schlüsselwerten suchen als auch iterieren möchte? Es ist möglich, eine Schleife über ein Dictionary zu ziehen, und dabei kann die Reihenfolge der Elemente im Dictionary von Bedeutung sein.Mit der Reihenfolge der Einträge im Hinterkopf fragt man sich vielleicht, wie man ein Dictionary sortieren […]

Pyinstaller und externe Pfade

Wenn man eine one-file-Anwendung mit Pyinstaller erstellt, dann lassen sich auch externe Dateien einbinden. Dies ist sehr nützlich, wenn man Resourcen- oder Konfigurationsdateien in die gebündelte Python-Anwendung laden möchte. Damit diese Dateien sicher gefunden werden von der Anwendung, ist im jeweiligen Skript der aktuelle Pfad zuvor zu ermitteln. Hierzu wird ein Systemattribut abgefragt, in dem dieser Pfad hinterlegt ist, wenn die one-file-Anwendung verwendet wird. Wenn eine gebündelte Anwendung startet, setzt der Bootloader das Attribut sys.frozen […]