Integrando HAL en Flask

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

documento HAL

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:

Ejemplo con incrustado

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

Deja una respuesta

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