[Python] Erstellen Sie schnell eine API mit Flask

was ist das

Es gibt Zeiten, in denen Sie während der Verwendung von DB schnell eine kleine API erstellen möchten. In einem solchen Fall ist Flask praktisch. Grundsätzlich können Sie eine API erstellen, indem Sie den folgenden Code ausarbeiten.

Hinweis

Wenn Sie ein mittelgroßes Projekt haben, später flask- * hinzufügen oder viel DB verwenden, sollten Sie meiner Meinung nach ein Framework wie Django verwenden. Wenn Sie später zu einem anderen Framework wechseln möchten, verwenden Sie dieses.

Code

Die API, die CRD für Model bereitstellt, wird unten gezeigt. (Das Update wird später implementiert, wenn Sie Lust dazu haben.)

# coding: utf-8
from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:postgres@localhost/postgres'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)


# Model
class Model(db.Model):
    __tablename__ = 'models'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), unique=True)

    def to_dict(self):
        return dict(
            id=self.id,
            name=self.name
        )

    def __init__(self, name):
        self.name = name

    def __repr__(self):
        return '<Model {}>'.format(self.name)


@app.route("/api/v1/model/<id>", methods=['DELETE'])
def api_v1_model_id(id):
    if request.method == 'DELETE':
        d = Model.query.get(id)
        db.session.delete(d)
        db.session.commit()
        return '', 204


@app.route("/api/v1/models", methods=['GET', 'POST'])
def api_v1_models():
    if request.method == 'POST':
        name = request.json['name']
        d = Model(name)
        db.session.add(d)
        db.session.commit()
        return jsonify(d.to_dict()), 201
    if request.method == 'GET':
        ls = Model.query.all()
        ls = [l.to_dict() for l in ls]
        return jsonify(ls), 200


if __name__ == "__main__":
    db.drop_all()
    db.create_all()
    app.run(host='0.0.0.0', port=3001)

Recommended Posts

[Python] Erstellen Sie schnell eine API mit Flask
Erstellen Sie schnell einen API-Server mit Python + Falcon
Erstellen Sie schnell eine Excel-Datei mit Python #python
Erstellen Sie eine API mit Django
Erstellen Sie mit Python + Flask einen animierten lokalen GIF-Server
Erstellen Sie Awaitable mit der Python / C-API
Erstellen Sie mit AWS SAM schnell eine API mit Python, Lambda und API Gateway
Erstellen Sie eine englische Wort-App mit Python
Programmieren mit Python Flask
Erstellen Sie eine App, die Schüler mit Python errät
Erstellen Sie eine Bildkompositions-App mit Flask + Pillow
Erstellen Sie ein Bild mit Zeichen mit Python (Japanisch)
Verwenden Sie die Trello-API mit Python
Erstellen Sie eine Umgebung mit virtualenv
Verwenden Sie die Twitter-API mit Python
Erstellen Sie ein 3D-GIF mit Python3
API mit Flask + uWSGI + Nginx
Ein Ei mit Python erstellen
Web-API mit Python + Falcon
Rufen Sie die API mit python3 auf.
Webanwendung mit Python + Flask ② ③
Verwenden Sie die Unterschall-API mit Python3
Erstellen Sie ein Verzeichnis mit Python
Webanwendung mit Python + Flask ④
[LINE Messaging API] Erstellen Sie einen Papageienrückgabe-BOT mit Python
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Nehmen Sie schnell eine Abfragezeichenfolge mit API Gateway-> Lambda (Python)
Ich habe versucht, LINE-Bot mit Python + Flask + ngrok + LINE Messaging API zu erstellen
[Python Kivy] So erstellen Sie mit pyinstaller eine exe-Datei
Schneiden Sie ein Bild mit Python aus
Mit Flask erstellte SNS Python-Grundlagen
[AWS] API mit API Gateway + Lambda erstellen
Behalten Sie den Flask API-Server für immer bei
Quine Post mit Qiita API (Python)
Erstellen Sie eine virtuelle Umgebung mit Python!
Ich habe eine SMS mit Python gesendet
Erstellen Sie Google Mail in Python ohne Verwendung der API
Erstellen Sie eine API mit hug mit mod_wsgi
Erstellen Sie eine Altersgruppe mit Pandas
Implementieren Sie die REST-API schnell in Python
Zeichnen Sie eine Illustration mit Python + OpenCV
[Python] Mail mit Outlook senden
Anwendungsentwicklung mit Docker + Python + Flask
[Python] API zum Senden von Google Mail erstellen
Erstellen Sie mit der AWS-API einen Alias für Route53 zu CloudFront
[LINE Messaging API] Erstellen Sie einen BOT, der eine Verbindung zu jemandem mit Python herstellt
[Für Python] Erstellen Sie schnell eine Upload-Datei in AWS Lambda Layer
Erstellen Sie eine Anwendung, die nur mit der Google Custom Search-API mit Python 3.3.1 in Bottle sucht
Sammeln von Informationen von Twitter mit Python (Twitter API)
Erstellen Sie eine Anwendung, indem Sie mit Pygame klassifizieren
[Python] Erstellen einer Umgebung mit Anaconda [Mac]
Erstellen Sie mit Class einen Python-Funktionsdekorator
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
Erstellen Sie mit PySimpleGUI einen Bildverarbeitungs-Viewer
Erstellen Sie mit Python + PIL ein Dummy-Image.