Skip to content

Latest commit

 

History

History
84 lines (62 loc) · 3.47 KB

8.REST.md

File metadata and controls

84 lines (62 loc) · 3.47 KB

Objetivo 8: Diseño de un API REST con tests de integración

Descripción

Se trata de diseñar un API REST para nuestra aplicación, con un status básico y con tests de integración que se ampliarán en el objetivo siguiente.

Prerrequisitos

Haber pasado los tests del objetivo anterior, contenedores.

Explicación

El diseño de un API es tan importante como la implementación y debe seguir una serie de reglas específicas, que en principio estén separadas de la propia implementación.

Los APIs se construyen, en general, en torno al concepto de recurso, y son una serie de operaciones sobre un recurso que siguen las buenas prácticas sobre los diseños de los APIs REST. En general, se trata de diseñar las APIs de forma que siempre quede claro cuál es el recurso que se va a usar, y añadir una serie de peticiones sobre ese recurso; un recurso vendría a ser un objeto, pero la cuestión es que el recurso va a tener siempre el mismo URI que se conservará a lo largo de las diferentes peticiones.

En este objetivo no hay que hacer más que el diseño de las rutas del API. Se podrá hacer en un documento aparte. Lo principal es la elección del framework, la creación de una ruta de comprobación, y la integración de la configuración (incluyendo posiblemente remota) y los registros de actividad.

Información adicional

Del curso 0 se puede consultar el material sobre tests de integración.

Lista de comprobación

* [ ] ¿Has justificado tu elección de un framework REST y explicado por qué no has
   elegido ni `flask` ni `express`?

Entrega de la práctica

Subir los fuentes a GitHub y hacer un pull request al documento que describa las prácticas y que se anunciará en la web de la asignatura.

Como se seguirán lanzando los tests, sólo habrá que actualizar los mismos, en el contenedor si es posible, para que sigan pasando una vez que se añadan los tests y dependencias correspondientes a este objetivo. Habrá que añadir una clave framework a iv.yaml que indique el nombre del framework que se ha elegido.

Objetivos

Los objetivos que se tienen que alcanzar son los siguientes:

  1. Elegir un framework y justificarlo adecuadamente.
  2. Usar buenas prácticas en el mismo.
  3. Preparar para tests y testear la ruta de comprobación que se haya solicitado.

Se recuerda la política de plagios en esta asignatura: si una parte del código y la funcionalidad está copiada o de un tutorial o de otro estudiante, la práctica estará suspensa y en caso de reincidencia se podrá suspender la asignatura en la convocatoria ordinaria. La forma de asegurarse de que no es así es simplemente seguir las historias de usuario que se hayan creado desde el principio, incluyendo la hoja de ruta que se indicó en el objetivo 1.

Se aconseja al estudiante que es esencial concentrarse en los conceptos principales del hito (indicados arriba) y en entender los diferentes mecanismos del lenguaje para llevarlos a cabo. Se aconseja no buscar tutoriales, sino usar directamente la documentación y el manual de referencia. En caso de que efectivamente se detecte código copiado directamente de tutoriales o de otros compañeros la práctica podrá estar suspensa.

Valoración

El alcanzar este objetivo avanzará, en principio, 7.5% de la puntuación de este apartado.