Ahora, si deseamos codificar un solo libro o una lista de libros, el codificador anterior
ser utilizado automáticamente y por lo tanto no necesitamos hacer nada más. Así nuestro anterior
los ejemplos se pueden escribir simplemente haciendo referencia al libro o bookshop.books
atributo:
jsonify({’libro’: libro})
jsonify({’libros’: librería.libros})
41.5
Configuración de los servicios GET
Ahora podemos configurar los dos servicios que admitirán solicitudes GET, estos son los
•
Servicios /book/list y /book.
Las funciones a las que se asignan estas URL se indican a continuación:
def obtener_libros():
volver jsonify({’libros’: librería.libros})
@app.route(’/libro/int:isbn’, métodos=[‘GET’])
def get_book(isbn):
libro = librería.get(isbn)
volver jsonify({’libro’: libro})
@app.route(’/libro/lista’, métodos=[‘GET’])
La primera función simplemente devuelve la lista actual de libros que tiene la librería.
en una estructura JSON utilizando los libros de claves.
La segunda función toma un número isbn como parámetro. Esta es una URL
parámetro; en otras palabras, parte de la URL utilizada para invocar esta función es en realidad
dinámico y se pasará a la función. Esto significa que un usuario puede solicitar
detalles de libros con diferentes ISBN simplemente cambiando el elemento ISBN del
URL, por ejemplo:
• /libro/1 indicará que queremos información sobre el libro con el ISBN 1.
• /libro/2 indicará que queremos información sobre el libro con ISBN 2.
En Flask para indicar que algo es un parámetro de URL en lugar de un codificado
elemento de la URL, usamos corchetes angulares (<>). Estos rodean la URL
nombre del parámetro y permitir que el parámetro se pase a la función (usando el
mismo nombre).
aplicación = Frasco (nombre)
app.json_encoder=BookJSONEncoder
486
41
Servicio web de librería