[PYTHON] Erstellen Sie mit GitHub Pages einen Pseudo-REST-API-Server

Einführung

Qiita - Bereiten Sie einen Pseudo-API-Server mit GitHub-Aktionen vor In diesem Artikel habe ich vorgeschlagen, dass die Tatsache, dass die JSON-Datei mithilfe von Aktionen automatisch aktualisiert und von Pages gelesen werden kann, bedeutet, dass sie als Pseudo-API-Server betrieben werden kann. Obwohl nur ein kleiner Teil der großen Datenmenge gewünscht wird, ist es dabei erforderlich, jedes Mal alles zu erfassen und vom Schlüssel aus zu verfolgen.

Warum also nicht die JSON-Datei teilen, wie?

REST API Ich habe nach der REST-API von Qiita - 0 gesucht Ich verstehe, dass die REST-API, die ich oft auf der Straße höre, dh URL-Routing, das Daten entspricht, ich werde es basierend darauf teilen.

sample.json (Datenquelle: Verarbeitete Daten aus dem Hokkaido Open Data Portal)



{
    "data": [
        {
            "no": "1",
            "date": "2020-01-28T00:00",
            "place": "Wuhan City, China",
            "age": "Vierziger Jahre",
            "sex": "Weiblich"
        },
        {
            "no": "2",
            "date": "2020-02-14T00:00",
            "place": "Sapporo",
            "age": "50er Jahre",
            "sex": "männlich"
        }
    ],
    "last_update": "2020-03-14T23:14:01.849130+09:00"
}

Die Hosting-URL lautet http: // {HOSTING} /.

Zu erfassende Daten REST-API-URL
sample.Alle JSON-Daten http://{HOSTING}/sample
sample.json zuletzt_update http://{HOSTING}/sample/last_update
sample.Das erste Element der Daten von json http://{HOSTING}/sample/data/0
sample.Das zweite Element der Daten von json http://{HOSTING}/sample/data/1
sample.Nein zum zweiten Element der Daten von json http://{HOSTING}/sample/data/1/no

Wenn ja, handelt es sich um eine REST-Übersetzung.

Erstellen Sie eine Pseudo-REST-API mit GitHub-Seiten

In GitHub Pages wird der Zugriff auf das Verzeichnis auf index.html geleitet. Mit anderen Worten, wenn Sie auf http: // {HOSTING} / sample zugreifen, schreiben Sie alle Daten von sample.json in das Stammverzeichnis /sample/index.html des gh-pages-Zweigs, und die JSON-Zeichenfolge der gewünschten Daten wird zurückgegeben. Es ist eine Übersetzung. http://{HOSTING}/sample/last_updateの場合はルート/sample/last_update/index.htmlに「2020-03-14T23:14:01.849130+09:00」という文字列を書き込んでおく。

Wenn Sie mit dem oben beschriebenen Verfahren hosten, können Sie sagen, dass Sie einen Pseudo-REST-API-Server haben.

Implementierung

Kanahiro/gh-pages-rest-api In diesem Skript wird main.py von Actions ausgeführt, wenn es an master gesendet wird. main.py liest die json-Datei im json-Ordner und legt index.html wie oben beschrieben in gh-pages im unterteilten Verzeichnis ab.

Die obige sample.json wird im json-Ordner des obigen Repositorys gespeichert. Die Hosting-URL für gh-Seiten lautet https \ //kanahiro.github.io/gh-pages-rest-api/

Zu erfassende Daten REST-API-URL
sample.Alle JSON-Daten https://kanahiro.github.io/gh-pages-rest-api/sample
sample.json zuletzt_update https://kanahiro.github.io/gh-pages-rest-api/sample/last_update
sample.Das erste Element der Daten von json https://kanahiro.github.io/gh-pages-rest-api/sample/data/0
sample.Das zweite Element der Daten von json https://kanahiro.github.io/gh-pages-rest-api/sample/data/1
sample.Nein zum zweiten Element der Daten von json https://kanahiro.github.io/gh-pages-rest-api/sample/data/1/no

Es wird automatisch gehostet, nachdem es wie folgt an den Master gesendet wurde: Die einzige Anfrage, die Sie stellen können, ist GET, aber es kann gesagt werden, dass die REST-API in GitHub Pages implementiert ist.

Und wie in Qiita - Vorbereiten eines Pseudo-API-Servers mithilfe von GitHub-Aktionen beschrieben, wenn die JSON-Datei durch Planen durch Aktionen automatisch aktualisiert werden kann Wird ein REST-API-Server, auf dem Daten automatisch aktualisiert werden.

Wiederverwendung

  1. Fork das obige Repository
  2. Legen Sie den JSON, den Sie hosten möchten, in den JSON-Ordner
  3. Push to Master (→ Daten werden automatisch auf Gh-Seiten ausgegeben)

Vorsichtsmaßnahmen

»Seit ich es gerade geschafft habe, habe ich nicht versucht, es auf der Vorderseite richtig zu lesen. ――Ich habe es gerade geschafft, also weiß ich nicht, was für ein Problem es hat. --Json key empfiehlt nur alphabetische Zeichen (unbestätigt, wie die URL auf Japanisch maskiert wird)

Recommended Posts

Erstellen Sie mit GitHub Pages einen Pseudo-REST-API-Server
Bereiten Sie einen Pseudo-API-Server mit GitHub-Aktionen vor
Erstellen wir eine REST-API mit SpringBoot + MongoDB
Erstellen Sie einen (einfachen) REST-Server
Erstellen Sie die CRUD-API mit der Fast API
Erstellen Sie einfach einen API-Server mit dem Modul go-json-rest
So erstellen Sie eine Rest-API in Django
Erstellen Sie eine REST-API mit dem in Lobe und TensorFlow Serving erlernten Modell.
Lernen eines neuronalen Netzes mit Chainer - Erstellen eines Web-API-Servers
Erstellen Sie einen einfachen Textlint-Server
Erstellen Sie mit hug einen Web-API-Server mit explosiver Geschwindigkeit
Erstellen Sie mithilfe der Twitter-Streaming-API einen Echtzeit-Bot für die automatische Antwort
Abrufen von Salesforce-Daten mithilfe der REST-API
Erstellen Sie mit turicreate eine API, die Daten aus einem Modell zurückgibt
Erstellen Sie mit tkinter eine Python-GUI
Erstellen Sie ein verschachteltes Wörterbuch mit defaultdict
Erstellen Sie ganz einfach einen TalkBot mit Discord.py und der Talk-API von A3RT (pya3rt).
Erstellen Sie einen Unix Domain Socket-Server
Erstellen Sie eine API mit hug mit mod_wsgi
Erstellen Sie Github-Seiten mit Lektor Part 1
[Python] Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben.
Ich habe Chatbot mit der LINE Messaging API und Python (2) ~ Server ~ erstellt
Versuchen Sie, einen Artikel von Qiita mit der REST-API [Umweltvorbereitung] zu erstellen.
Erstellen Sie eine REST-API, um dynamodb mit dem Django REST Framework zu betreiben
Erstellen Sie mit Boost.Python einen C-Sprach-Wrapper
So erstellen Sie einen Klon aus Github
Erstellen Sie einfach einen DNS-Server mit Twisted
Erstellen Sie mit dem Sympy-Modul ein Diagramm
[Python] Erstellen Sie eine Stapelumgebung mit AWS-CDK
Richten Sie mit Twisted einen Mailserver ein
Erstellen Sie eine Anwendung mit der Spotify-API
Erstellen Sie mit Pandas einen Datenrahmen aus Excel
FX-Datenerfassung mit der OANDA REST-API
Erstellen Sie eine GIF-Datei mit Pillow in Python
Erstellen Sie mit PyLearn2 eine App zur falschen Unterstützung
Erstellen Sie mit ClustalW2 einen phylogenetischen Baum aus Biopyton
Schreiben Sie einen TCP-Server mit dem SocketServer-Modul
Erstellen Sie mit Kaitai Struct einen Binärdatenparser
Ausgabe der Repository-Liste mit der Github-API auf dem Mac
Versuchen Sie, mit Node.js einen HTTP-Server zu erstellen
Erstellen Sie ein Besuchermeldungssystem mit Raspberry Pi
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Erstellen Sie in Tornado einen HTTP-Server (Hello World)
Erstellen Sie schnell einen API-Server mit Python + Falcon
Erstellen Sie eine GUI auf dem Terminal mit Flüchen