Skip to content

Latest commit

 

History

History
80 lines (66 loc) · 4.86 KB

File metadata and controls

80 lines (66 loc) · 4.86 KB

Lab 1: Utilizar API REST

Una vez instalado y configurado nuestro ambiente, probemos como poder utilizar el acceso API hacia nuestros datos.

Acceso via el Navegador Web

  • Ir a la ventana de PORTS y hacer click del mouse sobre Forwarded Address
  • Seleccionar el icono de un Mundo (se abrira un tab del Navegador Web)
  • en el Navegadir Web se debera ver lo siguiente:
{
  "status": "Healthy",
  "version": "2.0.9",
  "app-name": "dab_oss_2.0.9"
}

Consultas de Vuelos y Reservas

Obtener los primeros 5 vuelos

En la barra de direcciones agregar al final del URL lo siguiente

/api/Vuelo?$first=5

quedando algo asi (ejemplo)

https://crispy-xylophone-96j55gxjv7xh7v99-5000.app.github.dev/api/Vuelo?$first=5

Resultado:

{"value":[{"VueloId":1,"NumeroVuelo":"XA0101","AeropuertoOrigenId":8,"AeropuertoDestinoId":14,"SalidaProgramada":"2026-07-06T00:15:00","LlegadaProgramada":"2026-07-06T01:55:00","Aeronave":"Boeing 737-800","CapacidadAsientos":189,"Estado":"Aterrizado"},{"VueloId":2,"NumeroVuelo":"XA0102","AeropuertoOrigenId":15,"AeropuertoDestinoId":7,"SalidaProgramada":"2026-07-11T00:30:00","LlegadaProgramada":"2026-07-11T02:45:00","Aeronave":"Embraer E190","CapacidadAsientos":100,"Estado":"Aterrizado"},{"VueloId":3,"NumeroVuelo":"XA0103","AeropuertoOrigenId":2,"AeropuertoDestinoId":20,"SalidaProgramada":"2026-07-16T00:45:00","LlegadaProgramada":"2026-07-16T03:35:00","Aeronave":"Boeing 787-9","CapacidadAsientos":296,"Estado":"Aterrizado"},{"VueloId":4,"NumeroVuelo":"XA0104","AeropuertoOrigenId":9,"AeropuertoDestinoId":13,"SalidaProgramada":"2026-07-21T01:00:00","LlegadaProgramada":"2026-07-21T04:25:00","Aeronave":"Airbus A320neo","CapacidadAsientos":180,"Estado":"Aterrizado"},{"VueloId":5,"NumeroVuelo":"XA0105","AeropuertoOrigenId":16,"AeropuertoDestinoId":6,"SalidaProgramada":"2026-07-26T01:15:00","LlegadaProgramada":"2026-07-26T05:15:00","Aeronave":"Boeing 737-800","CapacidadAsientos":189,"Estado":"Aterrizado"}],"nextLink":"https://crispy-xylophone-96j55gxjv7xh7v99-5000.app.github.dev/api/Vuelo?$first=5&$after=W3siRW50aXR5TmFtZSI6IlZ1ZWxvIiwiRmllbGROYW1lIjoiVnVlbG9JZCIsIkZpZWxkVmFsdWUiOjUsIkRpcmVjdGlvbiI6MH1d"}

Obtener las primeras 5 reservas de clase Business

https://crispy-xylophone-96j55gxjv7xh7v99-5000.app.github.dev/api/Reserva?$filter=Clase%20eq%20%27Business%27&$first=5

Resultado:

{"value":[{"ReservaId":1,"CodigoReserva":"RA0001","VueloId":1,"PasajeroId":149,"Asiento":"1A","Clase":"Business","Tarifa":644.24,"Moneda":"USD","FechaReserva":"2026-06-21T00:15:00","Estado":"Abordado"},{"ReservaId":2,"CodigoReserva":"RA0002","VueloId":1,"PasajeroId":160,"Asiento":"1B","Clase":"Business","Tarifa":651.25,"Moneda":"USD","FechaReserva":"2026-06-18T00:15:00","Estado":"Abordado"},{"ReservaId":3,"CodigoReserva":"RA0003","VueloId":1,"PasajeroId":171,"Asiento":"1C","Clase":"Business","Tarifa":658.26,"Moneda":"USD","FechaReserva":"2026-06-15T00:15:00","Estado":"Abordado"},{"ReservaId":4,"CodigoReserva":"RA0004","VueloId":1,"PasajeroId":182,"Asiento":"1D","Clase":"Business","Tarifa":665.27,"Moneda":"USD","FechaReserva":"2026-06-12T00:15:00","Estado":"Abordado"},{"ReservaId":5,"CodigoReserva":"RA0005","VueloId":1,"PasajeroId":193,"Asiento":"1E","Clase":"Business","Tarifa":672.28,"Moneda":"USD","FechaReserva":"2026-06-09T00:15:00","Estado":"Abordado"}],"nextLink":"https://crispy-xylophone-96j55gxjv7xh7v99-5000.app.github.dev/api/Reserva?$filter=Clase%20eq%20%27Business%27&$first=5&$after=W3siRW50aXR5TmFtZSI6IlJlc2VydmEiLCJGaWVsZE5hbWUiOiJSZXNlcnZhSWQiLCJGaWVsZFZhbHVlIjo1LCJEaXJlY3Rpb24iOjB9XQ=="}

Revisando la especificación OPENAPI y SWAGGER

Para obtener la especificación completa de OPEN API simplemente poner

/api/openapi

ejemplo:

https://crispy-xylophone-96j55gxjv7xh7v99-5000.app.github.dev/api/openapi

y Para la especificación de Swagger UI simplemente poner

/swagger

ejemplo:

https://crispy-xylophone-96j55gxjv7xh7v99-5000.app.github.dev/swagger

Actualizando información

Vamos a actualizar el nombre del un pasajero usando el metodo PATCH de HTTP API REST

  • Abrir otra TERMINAL nueva en el botón de + New Terminal
  • Busquemos el pasajero al que cambiaremos el nombre con el siguiente comando
curl -X GET http://localhost:5000/api/Pasajero/PasajeroId/4

resultado:

{"value":[{"PasajeroId":4,"TipoDocumento":"DNI","NumeroDocumento":"DN1031676","Nombres":"Lucía","Apellidos":"García Moreno","FechaNacimiento":"2006-07-07","Genero":"M","Email":"lucia.garcia4@correo-demo.test","Telefono":"+34 600016708","Nacionalidad":"Perú","FechaAlta":"2026-03-07T00:00:00"}]}

Actualizado el nombre del pasajero

curl -X PATCH http://localhost:5000/api/Pasajero/PasajeroId/4 \
  -H "Content-Type: application/json" \
  -d '{"Nombres": "Rene Alejandro", "Apellidos": "Figueroa Orozco"}'

Felicidades haz completado con exito el Laboratorio 1 ahora puedes ir al Laboratorio 2