Saltar al contenido principal

Práctica 501. API REST con Lumen.

Desarrolla una API REST básica que gestione usuarios y sus pedidos utilizando Lumen. Cada usuario puede tener uno o varios pedidos, y cada pedido debe estar asociado a un usuario concreto.

Realiza los siguientes pasos:

  1. Crea un proyecto de Lumen para implementar la API REST de usuarios y pedidos.

  2. Define los siguientes endpoints para usuarios:

    • GET /usuarios → Devuelve la lista de todos los usuarios.
    • GET /usuarios/{id} → Devuelve un usuario concreto según su ID, incluyendo sus pedidos asociados.
    • POST /usuarios → Permite crear un nuevo usuario enviando un JSON con su información.
    • PUT /usuarios/{id} → Permite actualizar los datos de un usuario existente.
    • DELETE /usuarios/{id} → Permite eliminar un usuario por su ID, eliminando también sus pedidos asociados.
  3. Define los siguientes endpoints para pedidos:

    • GET /usuarios/{id}/pedidos → Devuelve la lista de pedidos de un usuario.
    • GET /pedidos/{id} → Devuelve un pedido concreto según su ID, incluyendo información del usuario asociado.
    • POST /usuarios/{id}/pedidos → Permite crear un nuevo pedido para un usuario concreto.
    • PUT /pedidos/{id} → Permite actualizar un pedido existente.
    • DELETE /pedidos/{id} → Permite eliminar un pedido.
  4. Cada endpoint debe devolver respuestas en formato JSON, incluyendo mensajes de error apropiados cuando corresponda (por ejemplo, usuario o pedido no encontrado).

  5. Prueba la API utilizando un cliente REST, verificando que todos los endpoints funcionan correctamente y que la relación usuarios-pedidos se mantiene coherente.

  6. Implementa validación básica para los datos recibidos en las solicitudes POST y PUT, y asegúrate de que no se puedan crear pedidos para usuarios inexistentes.