[PYTHON] Holen Sie sich swagger.json mit Flask-RESTX (Flask-RESTPlus), ohne den Server zu starten

Es gab eine Szene, in der ich das API-Dokument swagger.json erhalten wollte, ohne den Server mit Flask-RESTX zu starten.

Zunächst wird der Beispielcode der Flask-Anwendung angezeigt.

from flask import Flask
from flask_restx import Api, Resource, fields

def create_app():
    app = Flask(__name__)
    api = Api(app)

    @api.route("/sample")
    class SampleResource(Resource):

        @api.marshal_with(api.model("sample model", {
            "name": fields.String,
            "age": fields.Integer,
        }))
        def get(self):
            raise NotImplementedError()

    return app

Wenn Sie es mit "flask run" starten, können Sie swagger.json erhalten, indem Sie auf http://127.0.0.1:5000/swagger.json zugreifen.

Diese Methode benötigt jedoch Zeit, um den Debug-Server zu starten, um swagger.json zu erhalten. In Fällen, in denen Sie swagger.json mithilfe von CI usw. automatisch erfassen und freigeben möchten, treten einige Schwierigkeiten auf. ..

Wenn Sie das folgende Skript vorbereiten und ausführen, können Sie daher swagger.json abrufen, ohne den Flask-Server zu starten.

import json
import sys
from app import create_app


app = create_app()
json.dump(
    app.test_client().get("/swagger.json").get_json(),
    sys.stdout,
)

Ich verwende den mit Flask gelieferten Testclient.

Dieses Skript erzeugt eine Standardausgabe, aber Sie können eine JSON-Datei erhalten, indem Sie in eine Datei umleiten.

Recommended Posts

Holen Sie sich swagger.json mit Flask-RESTX (Flask-RESTPlus), ohne den Server zu starten
Systemhandel ab Python3: Holen Sie sich den neuesten Programmcode
Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
Ermitteln Sie mit Selenium + PhantomJS + Python die Breite des Div auf der Serverseite
[Python] Ruft den Variablennamen mit str ab
Erste Schritte mit dem Dokumentationstool Sphinx
Holen Sie sich Urlaub mit der Google Kalender-API
Melden Sie sich mit SSH bei einem Remote-Server an
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Der einfachste Weg, um mit Django zu beginnen
Holen Sie sich die neuesten AMI-Informationen mit der AWS CLI
Zeichentipps mit matplotlib auf der Serverseite
Holen Sie sich die neuesten AMI-Informationen mit der AWS CLI
Holen Sie sich swagger.json mit Flask-RESTX (Flask-RESTPlus), ohne den Server zu starten
Holen Sie sich die ID einer GPU mit geringer Speichernutzung
[Python x Zapier] Erhalten Sie Warninformationen und benachrichtigen Sie mit Slack
Informationen erhalten Sie mit zabbix api
Holen Sie sich Alembic-Informationen mit Python
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Holen Sie sich die neueste Linux-Kernel-Version mit ArchLinux
GRPC beginnend mit Go-Server und Dart-Client
[CGI] Führen Sie das Server-Python-Programm mit Vue.js + axios aus und rufen Sie die Ausgabedaten ab
So starten Sie in Atom geschriebenen Code mit einem Befehl, ohne teminal zu starten