Herramientas de usuario

Herramientas del sitio


clase:daw:daw:1eval:tema04

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:daw:daw:1eval:tema04 [2020/09/10 23:58]
admin [Cabeceras HTTP]
clase:daw:daw:1eval:tema04 [2021/10/14 21:30] (actual)
admin [Ejercicios]
Línea 84: Línea 84:
  
 <note> <note>
-La cabecera ''Content-Type'' es imporante para el programador ya que el servidor puede no saber exactamente el formato de los datos y es necesario que lo indiquemos nosotros.Muchas veces hay ademas problemas con la codificación si es ''utf-8'' o ''ISO-8859-1'' por lo que también se debe indicar. +  * La cabecera ''Content-Type'' es imporante para el programador ya que el servidor puede no saber exactamente el formato de los datos y es necesario que lo indiquemos nosotros.Muchas veces hay ademas problemas con la codificación si es ''utf-8'' o ''ISO-8859-1'' por lo que también se debe indicar. 
- +  Por otro lado notar que ''Content-Type'' se puede usar tanto en la petición como en la respuesta. Se usa en la petición si se envían datos en la petición
-Por otro lado notar que ''Content-Type'' se puede usar tanto en la petición como en la respuesta. Se usa en la petición si se envían datos en la petición+
 </note> </note>
  
Línea 110: Línea 109:
  
   * ''GET'': Queremos obtener los datos   * ''GET'': Queremos obtener los datos
-  * ''POST'': Queremos actualziar los datos. +  * ''POST'': Queremos añadir los datos. 
-  * ''PUT'': Queremos añadir nuevos datos.+  * ''PUT'': Queremos actualizar nuevos datos.
   * ''DELETE'': Queremos borrar los datos.   * ''DELETE'': Queremos borrar los datos.
  
Línea 148: Línea 147:
  
 ^ Descripción ^ URL ^ Método HTTP ^ JSON Enviado ^ JSON Retornado ^ ^ Descripción ^ URL ^ Método HTTP ^ JSON Enviado ^ JSON Retornado ^
-| Obtener un usuario | ''/libro/{idUsuario}'' | GET | Ninguno | Usuario leido | +| Obtener un libro | ''/libro/{idLibro}'' | GET | Ninguno | Libro leido | 
-| Listado de usuarios | ''/libro'' | GET | Ninguno | Array de Usuarios +| Listado de libros | ''/libro'' | GET | Ninguno | Array de Libros 
-| Añadir un usuario | ''/libro'' | POST | Libro a insertar | Usuario insertado | +| Añadir un libro | ''/libro'' | POST | Libro a insertar | Libro insertado | 
-| Actualizar un usuario | ''/libro/{idUsuario}'' | PUT | Usuario a actualizar | Usuario actualizado | +| Actualizar un libro | ''/libro/{idLibro}'' | PUT | Libro a actualizar | Libro actualizado | 
-| Borrar un usuario | ''/libro/{idUsuario}'' | DELETE | Ninguno | Ninguno |+| Borrar un libro | ''/libro/{idLibro}'' | DELETE | Ninguno | Ninguno |
  
-Donde pone ''{idUsuario}'' se subtituiría por el id del Usuario.+Donde pone ''{idLibro}'' se subtituiría por el id del libro.
  
 El "JSON Enviado" es el JSON que se debe enviar con los datos al hacer esa petición. Como podemos ver solo se envía al insertar o al actualizar. Es decir es el JSON del usuario a insertar o el JSON con los nuevo datos del  usuario a modificar. El "JSON Enviado" es el JSON que se debe enviar con los datos al hacer esa petición. Como podemos ver solo se envía al insertar o al actualizar. Es decir es el JSON del usuario a insertar o el JSON con los nuevo datos del  usuario a modificar.
Línea 202: Línea 201:
   response.send('Hello from delete!');   response.send('Hello from delete!');
 }); });
-app.delete('/parada/38', (request, response) => {+app.delete('/libro/38', (request, response) => {
   response.status(200);   response.status(200);
-  response.send('Borrada parada 38');+  response.send('Borrado libro 38');
 }); });
-app.delete('/parada/39', (request, response) => {+app.delete('/libro/39', (request, response) => {
   response.status(404);   response.status(404);
-  response.send('La parada 39 no existe');+  response.send('El libro 39 no existe');
 }); });
    
Línea 218: Línea 217:
  
 ==== Ejercicio 1 ==== ==== Ejercicio 1 ====
 +Usando el programa [[https://www.putty.org/|putty]], puedes conectarte en con el tipo de conexión "raw" al puerto 80 de cualquier máquina y enviar texto al cualquier servidor.
 +
 +Debes conectarte al servidor "www.fpmislata.com" al puerto 80 y enviar el texto de una petición HTTP. Es decir escribir tal cual se envía una petición HTTP.
 +
 +  * Envía la petición HTTP sin cabeceras. ¿Porque ha fallado?
 +  * Añade ahora la cabecera ''Host'' y vuelve a enviar la petición. ¿Porque ahora funciona?. Indica las cabeceras que ha retornado y los datos.
 +  * Haz una nueva petición a la URL "/wordpress/secretaria/novedades-secretaria/". Comprueba que todo funciona.
 +
 +
 +
 +==== Ejercicio 2 ====
 En tu máquina debes instalar lo siguiente: En tu máquina debes instalar lo siguiente:
   * Descargar el fichero {{biblioteca-original.json.zip|}} y descomprimelo. Mira el contenido del fichero ''biblioteca-original.json''.   * Descargar el fichero {{biblioteca-original.json.zip|}} y descomprimelo. Mira el contenido del fichero ''biblioteca-original.json''.
Línea 242: Línea 252:
 Indica las siguientes  y datos: Indica las siguientes  y datos:
  
-^  Descripción  ^  URL  ^ Datos enviados al Servidor ^  Datos leidos del servidor ^ +^  Descripción  ^  URL  ^  Datos enviados al Servidor  ^  Datos leidos del servidor  
 | Obtener el libro de "La fundación" |    |    |    | | Obtener el libro de "La fundación" |    |    |    |
 | Borrar el libro de "Yo Robot" |      |    | | Borrar el libro de "Yo Robot" |      |    |
 | Obtener todos los libros |    |    |    | | Obtener todos los libros |    |    |    |
-| Añadir el género "Terror" |    |    |    |+| Añadir un nuevo  género llamado "Histórico" |    |    |    | 
 + 
 + 
 +==== Ejercicio 3 ==== 
 +Desde Firefox instala el plugin de [[https://addons.mozilla.org/es/firefox/addon/restclient/|RESTClient]] o desde Chrome el plugin [[https://chrome.google.com/webstore/detail/yet-another-rest-client/ehafadccdcdedbhcbddihehiodgcddpl|Yet Another REST Client]] 
 + 
 +Lanza las URL del ejercicio anterior. Si hay datos de entrada los deberás enviar en el campo de "Body"  y añadir las cabeceras adecuadas 
 + 
 +==== Ejercicio 4 ==== 
 +Modifica el servidor hecho en NodeJS de forma que: 
 +  * En la URL ''/libro/3'' con un ''GET'' retorne los datos de un libro (Te tienes que inventar los datos). Deberá permitir que sean en JSON o XML dependiendo de la cabecera "Accept" y también habrá que tener en cuenta la cabecera ''Accept-Language'' , permitiendo la respuesta en castellano o inglés. 
 +  * En la URL ''/libro/4'' con un ''GET'' indique que no existe ese usuario 
 + 
 +<note tip> 
 +Este ejercicio **no** tiene nada que ver con el ejercicio del JSON Server, se hace todo sobre el código de NodeJS de express. 
 +</note>
  
clase/daw/daw/1eval/tema04.1599775127.txt.gz · Última modificación: 2020/09/10 23:58 por admin