Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • E ECMAscript-Typescript
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 11
    • Issues 11
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • imunnic
  • ECMAscript-Typescript
  • Issues
  • #8

Closed
Open
Created Nov 04, 2025 by imunnic@imunnicMaintainer

Uso de servicios

  • Descripción: Implementar un servicio genérico en JavaScript para la comunicación con una API REST, y una clase hija específica (ServicioRecursosSanitarios) que herede de él. Esta clase especializada permitirá añadir un nuevo recurso sanitario mediante una petición POST, enviando los datos introducidos en un formulario HTML.

El HTML proporcionado no debe modificarse.

El flujo esperado es:

  1. El usuario completa el formulario con los datos del nuevo recurso.
  2. Al pulsar el botón “Guardar”, se envía una petición POST a la API con el contenido del formulario.
  3. Se muestra un mensaje de confirmación o error según el resultado.
  • Valor que aporta: Introduce programación orientada a objetos aplicada al trabajo con APIs REST, reforzando conceptos de herencia, asincronía y manejo de formularios. Simula un entorno real de desarrollo donde se separa la lógica de comunicación del control de la interfaz.

  • Criterios de aceptación:

    • No se modifica el archivo HTML.

    • Se define una clase Servicio genérica con métodos get(url) y post(url, data).

    • Se define una subclase ServicioRecursosSanitarios que extienda Servicio y use una URL base (por ejemplo, "https://api/recursos").

    • El formulario permite introducir un nuevo recurso (tipo, nombre, disponible).

    • Al enviar el formulario:

      • Se crea un objeto con esos datos.
      • Se envía al servidor con fetch() y método POST.
      • Se muestra un mensaje de éxito o error en pantalla.
    • No se recarga la página al enviar el formulario.

  • Pruebas

    1. Al abrir el HTML, el usuario puede rellenar los campos del formulario.

    2. Al pulsar “Guardar”, se ejecuta una petición POST a la API.

    3. Si la petición es correcta (200–201), aparece un mensaje:

      “Recurso creado correctamente”

    4. Si la petición falla, aparece:

      “Error al crear el recurso”

    5. El formulario no se recarga tras enviar los datos.

    6. Ejemplo de cuerpo enviado en la petición:

      {
        "nas": "NAS 11",
        "UCO": "BCG XII",
        "M1N": "FUTER",
        "M2N": "DIVCAST",
        "M3N": "BRI_XII",
        "base": "Base El Goloso",
        "comunidadAutonoma": "Madrid",
        "provincia": "Madrid",
        "localidad": "Madrid",
        "codigoPostal": "28760",
        "servicioMedicoReferencia": "Base El Goloso",
        "observaciones": "",
        "nombre": "Laura Martínez",
        "tipoPersonal": "MEDICO",
        "empleo": "Cap",
        "telefono": "8154678",
        "correo": "lmarfer@mde.com",
      }
  • Elementos relacionados: #6

  • Tiempo estimado: 45 min

Edited Nov 20, 2025 by imunnic
Assignee
Assign to
Time tracking