Prácticas con REST
Servicios Telemáticos 2015-2016
Grado en Ingeniería Telemática
Universidad Rey Juan Carlos
http://gsyc.urjc.es



Observaciones

Práctica 5.1 jsonplaceholder

jsonplaceholder es un sitio web para aprender a programar con REST y facilitar la depuración de programas. Ofrece una API para acceder a recursos típicos como usuarios, mensajes de un foro y fotos. Consulta el API descrito en su página principal y:

  1. Crea el script ~/st/practica05/foro.py para consultar este servicio web

  2. Si se invoca sin parámetros, mostrará por salida estándar todos los mensajes, con un formato similar a este

    De: Bret
    nesciunt iure omnis dolorem tempora et accusantium
    -----------------------
    consectetur animi nesciunt iure dolore
    enim quia ad
    veniam autem ut quam aut nobis
    et est aut quod aut provident voluptas autem voluptas
    
    De: Bret
    optio molestias id quia eum
    -----------------------
    quo et expedita modi cum officia vel magni
    doloribus qui repudiandae
    vero nisi sit
    quos veniam quod sed accusamus veritatis error
    
    De: Antonette
    et ea vero quia laudantium autem
    -----------------------
    delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus
    accusamus in eum beatae sit
    vel qui neque voluptates ut commodi qui incidunt
    ut animi commodi
    

    Observa que aparece el username, el título del mensaje, una línea en texto plano, el cuerpo y una línea en blanco

  3. Si se invoca con la opción -u <NOMBRE_USUARIO> --user <NOMBRE_USUARIOS>, por ejemplo -u bret, mostrará solo los mensajes correspondientes a este username

    Esta opción será insensible a mayúsculas, esto es, el resultado será el mismo para por ejemplo bret, Bret o BrEt

  4. Si el usuario no existe, el script debe mostrar un mensaje de error adecuado por stderr

Práctica 5.2 holamundo REST

Prueba un holamundo en flask, como el de las transparencias

Práctica 5.3 servidor REST

Escribe un script ~/st/practica05/server01.py que al recibir una petición GET al recurso posts se comporte igual que jsonplaceholder

Añade también el recurso /posts/n donde n es el número de mensaje, por ejemplo /posts/3

Siempre imitando el comportamiento de jsonplaceholder. Los valores a devolver por tu servidor pueden ser cualquiera, con tal de que respeten el formato de jsonplaceholder. No hagas que tu servidor consulte a su vez a jsonplaceholder, simplemente fija los valores a devolver como una constante en el fuente.

Práctica 5.4 servidor REST

Escribe un script ~/st/practica05/server02.py incrementando el script anterior con el recurso /users

Práctica 5.5 servidor REST

Escribe un script ~/st/practica05/server03.py incrementando el script anterior con el recurso /posts?userId=n por ejemplo /posts?userId=1

Comprueba que tu script ~/st/practica05/foro.py puede consultar tu servidor, con solo cambiar la URI

Práctica 5.6 Cambio de moneda

Escribe un script ~/st/practica05/exchange.py que devolverá el tipo de cambio del bitcoin para diversas divisas, según la siguiente especificación.

Práctica 5.7 Cambio de moneda, con caché

Modifica la práctica del apartado anterior para que la respuesta sea un objeto JSON, y el servidor mantenga una caché con las respuestas