Prácticas recomendadas para el desarrollo de API de comercio electrónico de Python

1. Introducción

Cuando te registras en uno de los restaurantes más mediterráneos de Pekín, cuando pedimos comida en el restaurante, el camarero nos dará un menú, en el que se enumeran todos los platos y bebidas disponibles. Podíamos elegir la comida y la bebida que queríamos en el menú y decirle al camarero nuestra elección. Los meseros preparan y sirven comidas y bebidas de acuerdo a nuestras elecciones. Es como si las aplicaciones usaran interfaces para interactuar con otras aplicaciones. En la programación de computadoras, una interfaz es como un menú que enumera diferentes funciones o servicios. Las aplicaciones pueden usar la interfaz para obtener los datos requeridos o realizar la operación deseada. Al igual que cuando pedimos comida en un restaurante, elegimos la comida y bebida que queremos, la aplicación también puede elegir el servicio o función que necesitamos desde la interfaz y realizar la operación correspondiente.

Cuando usamos el programa WeChat Mini, en realidad estamos usando la interfaz del programa WeChat Mini para obtener los datos requeridos y realizar las operaciones requeridas. Por ejemplo, cuando verificamos el pronóstico del tiempo en el subprograma WeChat, el subprograma utilizará la API de pronóstico del tiempo para obtener la información meteorológica más reciente y mostrarla en el subprograma.

 

 1. ¿Qué es una API?

API, el nombre completo es Interfaz de programación de aplicaciones, es decir, interfaz de programación de aplicaciones. Es un conjunto de protocolos, interfaces y conjuntos de herramientas que definen la interacción entre los componentes del software. Permite que los sistemas de software se comuniquen e interactúen entre sí, de modo que los desarrolladores puedan usar las funciones y los datos de otras aplicaciones en sus propias aplicaciones, de ese modo Mejorar la eficiencia del desarrollo y aumentar las funciones del programa. En términos sencillos, la API es un puente para la interacción entre dos software.

 2. Por qué se necesitan las API

Mejor gestión y control de datos: las API pueden implementar el control de acceso, permitiendo que solo accedan los usuarios autorizados o las aplicaciones. Cifrado de datos, use el protocolo HTTPS para cifrar la transmisión de datos para evitar que terceros roben datos o realicen ataques maliciosos. Supervise los tiempos de acceso a los datos y audite el acceso para evitar abusos. Estas funciones de seguridad pueden ayudar a los desarrolladores y empresas a proteger los datos de posibles amenazas y ataques, y mejorar la integridad y la confidencialidad de los datos.

Desarrolle e implemente aplicaciones más rápido: mediante el uso de API, los desarrolladores pueden aprovechar el código y las herramientas existentes para acelerar el proceso de desarrollo e implementación de aplicaciones. Esto permite a los desarrolladores centrarse en la lógica empresarial central de la aplicación sin tener que dedicar mucho tiempo a implementar la funcionalidad de rutina. Por ejemplo, las API de Alipay y WeChat Pay, a través de las cuales los comerciantes pueden integrar Alipay y WeChat Pay en sus sitios web de comercio electrónico. Esto permite a los comerciantes usar directamente la función de pago sin tener que considerar los detalles de la implementación de la función.

Satisfacer mejor las necesidades de los clientes: mediante el uso de API, los desarrolladores pueden responder rápidamente a las necesidades de los clientes y brindar una mejor experiencia de usuario. La API puede proporcionar a los clientes más funciones y datos para satisfacer sus necesidades.

 3. Pasos básicos del desarrollo de API

Determinar los requisitos y la funcionalidad de la API de comercio electrónico : entradas, salidas, tipos de solicitud, etc.

Elija un lenguaje de programación y un marco: elija un lenguaje de programación y un marco adecuados según sus necesidades. Los lenguajes de uso común incluyen Python, Java, C#, etc., y los marcos de trabajo de uso común incluyen Flask, Django, Express, etc.

Estructura de datos: incluido el formato JSON, el formato XML, etc.

Lógica de negocios: escriba el código de lógica de negocios correspondiente de acuerdo con los requisitos.

Lógica de enrutamiento y procesamiento de solicitudes: Escriba la lógica de enrutamiento y procesamiento de solicitudes según el tipo de solicitud y la ruta de la solicitud.

Seguridad y autenticación: clave, acces_id

Escriba la documentación y las pruebas de la API: escriba la documentación de la API y los casos de prueba para garantizar la corrección y la usabilidad de la API.

Implementar API: implementar en la nube o en un servidor para que lo usen otras aplicaciones.

 4. Convención de nomenclatura

Cabe señalar que el diseño y la implementación de la API deben seguir algunas prácticas recomendadas, como buenas convenciones de nomenclatura. La convención de nomenclatura de la API puede variar según el acuerdo del proyecto específico y el equipo de desarrollo, pero las siguientes son algunas convenciones generales de nomenclatura:

 Use nombres de URI significativos: el URI de la API debe describir el recurso o la funcionalidad proporcionada por la API. Por ejemplo, /api/users se puede usar para obtener todos los usuarios, mientras que /api/users/123 se puede usar para obtener un usuario específico con ID 123. Dichos nombres de URI pueden mejorar la legibilidad y la capacidad de mantenimiento de la API.

 Usar nombres de método HTTP: el método HTTP de la API debe estar asociado con la operación realizada. Por ejemplo, use el método GET para obtener recursos, use el método POST para crear recursos, use el método PUT para actualizar recursos y use el método DELETE para eliminar recursos. Tal nombre de método puede hacer que la API sea más fácil de entender y usar.

  Siga las convenciones de nomenclatura: las API deben usar convenciones de nomenclatura coherentes para mejorar la legibilidad y el mantenimiento. Por ejemplo, use letras minúsculas y guiones para separar palabras como componentes de URI y use guiones bajos para separar palabras como claves para parámetros de solicitud y cuerpos de respuesta.

 Evite los verbos: los URI para las API deben describir recursos o funciones, no operaciones. Por ejemplo, /api/users se puede usar para obtener usuarios en lugar de /api/get_users.

 Siga el estilo de diseño RESTful: RESTful es un estilo de diseño de API de uso común, que modela la API como una colección de recursos y utiliza métodos HTTP estándar para realizar operaciones. Seguir el estilo de diseño RESTful puede hacer que la API sea más fácil de entender y usar.

En conclusión, la denominación de la API debe ser simple, significativa, fácil de entender y mantener. Seguir las convenciones de nomenclatura anteriores puede ayudar a los desarrolladores a crear API de alta calidad, fáciles de usar y mantener.

 5. Mecanismo de manejo de errores de la API

 En el desarrollo de API, el manejo de errores es una parte muy importante. Un mecanismo razonable de manejo de errores puede hacer que la API sea más robusta, confiable y fácil de usar. Los siguientes son mecanismos comunes de manejo de errores de API:

Código de estado HTTP:

from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/users/<int:user_id>', methods=['GET'])def get_user(user_id):    # 根据 user_id 获取用户信息    user = get_user_by_id(user_id)
    if user:        # 返回用户信息        return jsonify(user), 200    else:        # 返回错误信息和 404 状态码        return jsonify({'error': 'User not found'}), 404

Mensaje de error:

from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/users', methods=['POST'])def create_user():    # 获取 POST 请求中的数据    data = request.get_json()
    if not data or 'name' not in data or 'age' not in data:        # 返回错误信息和 400 状态码        return jsonify({'error': 'Name and age are required'}), 400    else:        # 创建用户,并返回用户信息和 201 状态码        user = create_new_user(data['name'], data['age'])        return jsonify(user), 201

Inicio sesión:

import logging
app = Flask(__name__)logging.basicConfig(level=logging.INFO)
@app.route('/users', methods=['GET'])def get_users():    try:        # 获取所有用户信息        users = get_all_users()
        # 返回用户信息        return jsonify(users), 200    except Exception as e:        # 记录错误日志,并返回错误信息和 500 状态码        logging.error('Error occurred: {}'.format(str(e)))        return jsonify({'error': 'Internal server error'}), 500

 autenticación API:

from flask import Flask, jsonify, requestfrom functools import wraps
app = Flask(__name__)
def authenticate(func):    @wraps(func)    def wrapper(*args, **kwargs):        # 验证客户端身份        auth = request.authorization        if not auth or not check_auth(auth.username, auth.password):            # 返回错误信息和 401 状态码            return jsonify({'error': 'Unauthorized access'}), 401        else:            # 客户端身份验证通过,执行原始函数            return func(*args, **kwargs)    return wrapper
@app.route('/users', methods=['GET'])@authenticatedef get_users():    # 获取所有用户信息    users = get_all_users()    # 返回用户信息    return jsonify(users), 200

Limitando:

from flask import Flask, jsonify, requestfrom flask_limiter import Limiterfrom flask_limiter.util import get_remote_address
app = Flask(__name__)limiter = Limiter(app, key_func=get_remote_address, default_limits=["10 per minute"])
@app.route('/users', methods=['GET'])@limiter.limit("5 per minute")def get_users():    # 获取所有用户信息    users = get_all_users()
    # 返回用户信息    return jsonify(users), 200

 5. Combate real

Escribimos una API para leer la base de datos MySQL en Python: 

 import mysql.connectorfrom mysql.connector import errorcode
# 连接MySQL数据库try:    cnx = mysql.connector.connect(user='username', password='password',                                  host='localhost', database='database_name')except mysql.connector.Error as err:    if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:        print("用户名或密码错误")    elif err.errno == errorcode.ER_BAD_DB_ERROR:        print("数据库不存在")    else:        print(err)
# 创建光标cursor = cnx.cursor()
# 编写SQL查询语句query = "SELECT * FROM table_name"
# 执行查询语句cursor.execute(query)
# 获取查询结果result = cursor.fetchall()
# 遍历结果并打印for row in result:    print(row)
# 关闭光标和连接,这步很重要,实际操作中一定要记得关闭光标,确保安全关闭数据库连接cursor.close()cnx.close() 

6. Recomendaciones

Lo anterior es solo una introducción breve y general. Si desea tener una comprensión completa del desarrollo de API, le recomiendo algunas API de uso común en python:

> NumPy: una biblioteca de Python para el cálculo numérico. Pandas: Para análisis y manipulación de datos. Matplotlib: una biblioteca de Python para la visualización de datos.

> Scikit-learn: biblioteca de Python para aprendizaje automático y minería de datos. TensorFlow: una biblioteca de Python para el aprendizaje automático y el aprendizaje profundo.

> Keras: biblioteca de Python para construir rápidamente modelos de aprendizaje profundo. SQLAlchemy: biblioteca de Python para manipular y administrar bases de datos relacionales.

> Beautiful Soup: biblioteca de Python para el análisis de páginas web y el raspado de datos. Solicitudes: biblioteca de Python para solicitudes HTTP y adquisición de datos.

> Jupyter Notebook: un entorno de programación interactivo para el análisis y la visualización de datos.

y tutoriales relacionados:

Introducción al desarrollo web de Flask: https://www.ibm.com/developerworks/cn/opensource/os-cn-flask/index.html

Utilice Flask para desarrollar la API RESTful: https://www.ibm.com/developerworks/cn/opensource/os-cn-flask-restful-api/

Django REST framework documentación oficial: https://www.django-rest-framework.org/

Guía práctica para el desarrollo de API de Python: https://zhuanlan.zhihu.com/p/76577882

Desarrollo de API en Python: https://zhuanlan.zhihu.com/p/38466244

Cómo usar Python para desarrollar API web: https://www.twilio.com/blog/how-to-build-a-web-api-with-python

Directrices de diseño de API en Python: https://cloud.google.com/apis/design/

Use Flask y SQLAlchemy para desarrollar una API RESTful: https://realpython.com/flask-connexion-rest-api/

Guía de desarrollo de API REST de Python: https://www.codementor.io/@sagaragarwal94/building-a-basic-restful-api-in-python-58k02xsiq

Estos artículos cubren todos los aspectos del desarrollo de la API de Python, incluida la elección del marco de desarrollo web, el diseño y la implementación de la API RESTful, la seguridad de la API, la optimización del rendimiento y más. Puedes elegir los artículos correspondientes para estudiar y practicar según tus propias necesidades. ¡Ojalá los niños aprendan algo!

Supongo que te gusta

Origin blog.csdn.net/onebound_linda/article/details/131844805
Recomendado
Clasificación