¿Cómo devolver una respuesta JSON desde una API Flask?

Flask es uno de los micro-frameworks de Python más utilizados para diseñar una API REST. En este artículo, vamos a aprender cómo crear una API REST simple que devuelva un objeto JSON simple, con la ayuda de un matraz.

Requisitos previos: Introducción a la API REST

¿Qué es una API REST?

REST significa Transferencia de estado representacional y es un estilo arquitectónico utilizado en el desarrollo web moderno. Define un conjunto de reglas/restricciones para que una aplicación web envíe y reciba datos. En este artículo, construiremos una API REST en Python utilizando el marco Flask. Flask es un micro framework popular para crear aplicaciones web.

Enfoques: vamos a escribir una API de matraz simple que devuelve una respuesta JSON utilizando dos enfoques:

  1. Usando el objeto Flask jsonify.
  2. Uso de la biblioteca Flask_restful con Flask.

Bibliotecas requeridas:

  • Instale la biblioteca python Flask usando el siguiente comando:
pip install Flask
  • Instale la biblioteca de descanso del matraz usando el siguiente comando:
pip install Flask-RESTful

Enfoque 1: usar el objeto Flask jsonify: en este enfoque, devolveremos una respuesta JSON utilizando el método Flask jsonify. No vamos a utilizar la biblioteca de descanso de matraces en este método.

  • Cree un nuevo archivo python llamado ‘main.py’.
  • importa Flask, jsonify y solicita desde el framework de Flask.
  • Registre la aplicación web en una variable de aplicación con la siguiente sintaxis.
app = Flask(__name__)
  • Cree una nueva función llamada ‘ReturnJSON’. Esta función devolverá la respuesta JSON de muestra.
  • Dirija la función ‘ReturnJSON’ a su URL deseada usando la siguiente sintaxis.
@app.route('/path_of_the_response', methods = ['GET'])
def ReturnJSON():
  pass
  • Dentro de la función ‘ReturnJSON’, si el método de solicitud es ‘GET’, cree un diccionario de Python con el mensaje de dos elementos.
  • Jsonifique el diccionario de python y devuélvalo.
  • Compile la aplicación del matraz con el siguiente comando.
if __name__=='__main__':
    app.run(debug=True)
  • Ejecute el archivo ‘main.py’ en la terminal o el IDE.

Código:

Python3

from flask import Flask,jsonify,request
  
app =   Flask(__name__)
  
@app.route('/returnjson', methods = ['GET'])
def ReturnJSON():
    if(request.method == 'GET'):
        data = {
            "Modules" : 15,
            "Subject" : "Data Structures and Algorithms",
        }
  
        return jsonify(data)
  
if __name__=='__main__':
    app.run(debug=True)

Producción:

Enfoque 2: uso de la biblioteca Flask_restful con Flask: en este enfoque, vamos a crear una respuesta JSON simple con la ayuda de la biblioteca Flask-restful. Los pasos se discuten a continuación:

  • Cree un nuevo archivo python llamado ‘main.py’.
  • Importe Flask desde el marco del matraz.
  • Importe API y recursos de la biblioteca ‘flask_restful’.
  • Registre la aplicación web en una variable de aplicación con la siguiente sintaxis.
app = Flask(__name__)
  • Registre la variable de la aplicación como un objeto API usando el método API de la biblioteca ‘flask_restful’.
api = Api(app)
  • Cree una clase de recurso llamada ‘ReturnJSON’.
  • Dentro del recurso, la clase crea un método ‘get’.
  • Devuelve un diccionario con la respuesta JSON simple del método ‘get’.
  • Agregue la clase de recurso a la API mediante el método add_resource.
  • Compile la aplicación del matraz con el siguiente comando.
if __name__=='__main__':
    app.run(debug=True)
  • Ejecute el archivo ‘main.py’ en la terminal o el IDE.

Código:

Python3

from flask import Flask
from flask_restful import Api, Resource
  
app =   Flask(__name__)
  
api =   Api(app)
  
class returnjson(Resource):
    def get(self):
        data={
            "Modules": 15, 
            "Subject": "Data Structures and Algorithms"
        }
        return data
  
api.add_resource(returnjson,'/returnjson')
  
  
if __name__=='__main__':
    app.run(debug=True)

Producción:

Publicación traducida automáticamente

Artículo escrito por akashkumarsen4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *