Creare un web service JSON in Python, Flask e MySQL

Mattepuffo's logo
Creare un web service JSON in Python, Flask e MySQL

Creare un web service JSON in Python, Flask e MySQL

Premetto che è solo una introduzione, in quanto sto testando diversi linguaggi / tecnologie per un lavoro che devo fare.

Ho deciso, quindi, di sperimentare anche Flask, un micro framework per Python.

E vederemo anche come agganciarlo a MySQL e inviare l'output in formato JSON.

Cominciamo installando due moduli:

(venv) $ pip3 install flask flask-mysql

Abbiamo installato tutto in ambiente virtuale.

Questo il nostro script Python:

from flask import Flask, jsonify
from flaskext.mysql import MySQL

app = Flask(__name__)
mysql = MySQL()
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = '9211'
app.config['MYSQL_DATABASE_DB'] = 'test'
mysql.init_app(app)


@app.route('/')
def index():
    cur = mysql.connect().cursor()
    cur.execute('''SELECT * FROM persone''')
    rv = cur.fetchall()
    return jsonify(rv)


@app.route('/id/<int:persona_id>')
def by_id(persona_id):
    cmd = '''SELECT * FROM persone WHERE id = ''' + str(persona_id)
    cur = mysql.connect().cursor()
    cur.execute(cmd)
    rv = cur.fetchall()
    return jsonify(rv)


if __name__ == "__main__":
    app.run()

Abbiamo impostato due routes, con due query differenti.

E con jsonify visualiziamo i dati in formato JSON.

Quese le due routes:

  • http://127.0.0.1:5000/
  • http://127.0.0.1:5000/id/2

Enjoy!


Condividi

Commentami!