FLASK를 사용하여 API를 미리 만들 수 있습니다.

10570 단어 spanishflaskapigame
El día de hoy vamos a ver cómo crear una sencilla API con Flask. Este es un proyecto que a primera vista parece complicado, pero ya cuando iniciamos nos damos cuenta de que es todo lo contrario; muy sencillo y divertido de realizar, así que te te invito a alistar tu IDE y manos a la obra.

Antes que nada, aqui te dejo el link por si deseas clonar directamente el repositorio de Github.

Desarollando nuestra API



Para este tutorial vamos a utilizar principalmente el "Mini"-Framework Flask y algunas extenciones del mismo. Para la instalación de todos los paquetes me gustaria dejarte dos opciones:
  • Instalar los siguientes paquetes con el comando pip install x-paquete
  • 플라스크
  • flask_restful
  • flask_sqlalchemy
  • Descargar el el archivo requirements.txt e instalar todo de una vez con el comando pip install -r requirements.txt

  • La primera opcion nos permite ir familiarizandonos poco a poco con las herramientas que vamos utilizando a lo largo de este tutorial y la segunda nos agiliza el trabajo.

    ¿Cuál usar? 의존 데...

    새 구조 API



    Vamos a explicar de manera súper básica la estructura de nuestra API. Para 시장 정보는 방문객을 초대합니다. la documentacion oficial de FlaskRESTful .

    1. from flask import Flask
    2. from flask_restful import Api, Resource, marshal_with, fields
    3. from flask_sqlalchemy import SQLAlchemy
    
    4. app = Flask(__name__)
    5. api = Api(app)
    6. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///Players.db'
    7. db = SQLAlchemy(app)
    


    En las lineas uno, dos y tres importamos Flask, algunas clases desde flask_restful y SQLAlchemy, que será la encargada de realizar las conexiones con nuestra base de datos. Depués, de la linea cuatro a siete realizamos la configuracion de nuestra aplicacion y establecemos una conexion a través de sqlite con nuestra base de datos.

    class Players(db.Model):
        __tablename__ = "players"
        id = db.Column(db.Integer, primary_key=True)
        region = db.Column(db.String, nullable=False)
        name = db.Column(db.String, nullable=False)
        puuid = db.Column(db.String, nullable=False)
    
    
    resource_fields = {
        'id':fields.Integer,
        'region':fields.String,
        'name':fields.String,
        'puuid':fields.String
    }
    


    Aquí primo creamos la clase Players que será la encargada de manejar la "extructura"de nuestra base de datos. Como podemos ver, creamos una tabla llamada players y cuatro columnas. Por último creamos un diccionario llamado resource_fields Para serializar nuestra informacion de tal manera que podamos mostrarla en formato JSON. (¿Qué es JSON ?)

    class Player(Resource):
        @marshal_with(resource_fields)
        def get(self, name):
            result = Players.query.filter_by(name=name).first()
            return result
    
    api.add_resource(Player, "/<string:name>")
    
    
    if __name__ == "__main__":
        app.run(host='0.0.0.0')
    


    Por último, creamos la clase Player que organizará los datos de nuestra base de datos de la forma en que le especificamos en nuestro diccionario resource_fields . Luego definimos una función get que tomará como argumantos self y el nombre del jugador del cual queremos conocer la información. Con estos datos hacemos unquery a nuestra base de datos, diciéndole que nos muestre el primer el primer jugador llamado name .
    api.add_resource(Player, "/<string:name>") es una de las partes basices de nuestro código, pues aquí donde especificamos la ruta a la cual se hará la request, o dicho de otra forma, es aquí donde definimos nuestro Endpoint. En este caso sería simplemente a la ruta de inicio, es decir:

    https://0.0.0.0:8000/Bluegod
    


    Por último, la parte de if __name__ == "__main__": sencillamente evita que se ejecute la aplicación cuando es importada por otro script y en la parte de app.run(host='0.0.0.0') podriamos añadirle debug=True para que cada que realizamos un cambio y tenemos nuestra aplicación corriendo este cambio se aplica inmediatamente después de guardar, esto ayuda mucho cuando estamos testeando o añadiendo nuevas funciones, pero se recomienda quitarlo a la hora de hacer deploy de nuestra App.

    Y... ya, eso sería todo, si hemos seguido correctamente todos los pasos hasta aquí deberiamos tener nuestra API funcionando. ¡Vamos a probarla!



    ¡ 훌륭합니다! 기능입니다.

    Bueno, eso sería todo por el día de hoy. Si quieres probar esta API AQUÍ te dejo un link en el cual podras hacerlo. Y recuerda, si tienes alguna duda, queja, sugerencia o reclamo no dudes en hacérmelo saber.

  • 디스코드: rooyca#6075

  • 텔레그램: @seiseiseis
  • 좋은 웹페이지 즐겨찾기