El lenguaje de aplicación de hipertexto (HAL) es un estándar que se utiliza para establecer convenciones para expresar controles hipermedia, como enlaces, con JSON. Se considera como un tipo de medio genérico a través del cual la API web se puede desarrollar y exponer como una serie de enlaces.
En este artículo, usaremos el módulo Flask-HAL que se puede usar para integrar las especificaciones HAL con el matraz. Las características principales de este módulo son:
- Fácil integración al formato estructurado de HAL.
- Proporciona la mayoría de las funcionalidades de HAL proporcionadas, incluidos documentos, enlaces y documentos integrados.
Instalación
Para instalar este módulo, escriba el siguiente comando en la terminal.
pip install Flask-HAL
Funciones utilizadas
- Documento (datos, enlaces, incrustados): esta es una colección de documentos incrustados, enlaces y datos asociados.
- Incrustado (datos, enlace, incrustado): proporciona información sobre recursos anidados y sus enlaces.
- Enlace (recurso, hipervínculo): incluye el recurso con sus hipervínculos y metadatos asociados. La clase de enlace es de tipo Collection().
Ejemplo 1: Enlaces y Documentos
Después de instalar la biblioteca, se deben importar las clases HAL, enlace y documento. El documento se inicializa con datos, junto con sus enlaces, que forman parte de los recursos y su hipervínculo. El autoenlace se incluye como parte del documento HAL.
Python3
from flask import Flask from flask_hal import HAL, document, link # initializing HAL with app context app = Flask(__name__) HAL(app) # Links with data in document. @app.route('/doc') def doc(): return document.Document(data={ 'message': 'Representing Links and Documents for Flask HAL GFG' }, links=link.Collection( link.Link('gfg', 'https://www.geeksforgeeks.org/'), link.Link('practice', 'https://practice.geeksforgeeks.org/') )) if __name__ == "__main__": app.run(debug=True)
Salida: Vaya a la URL http://127.0.0.1:5000/doc
Ejemplo 2: Trabajando con Embedded
Los documentos incrustados son de una clase similar a Documento, solo se usa otra clave para definir el valor clave para el documento incrustado. La clase incrustada debe importarse.
Python3
from flask import Flask from flask_hal import HAL, document, link from flask_hal.document import Embedded # initializing HAL with app context app = Flask(__name__) HAL(app) # Links with data in document. # including embedded. @app.route('/doc') def doc(): return document.Document(data={ 'message': 'Representing Links and Documents for Flask HAL GFG' }, links=link.Collection( link.Link('gfg', 'https://www.geeksforgeeks.org/'), link.Link('practice', 'https://practice.geeksforgeeks.org/') ), embedded={ 'nesting': Embedded( embedded={'double_nesting': Embedded( data={'study': "Its Embedded!"}, links=link.Collection( link.Link( 'gfg-embed', 'https://www.geeksforgeeks.org/'), link.Link('practice-embed', 'https://practice.geeksforgeeks.org/') ) )})}) if __name__ == "__main__": app.run(debug=True)
Producción:
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA