Skip to content

Latest commit

 

History

History
112 lines (97 loc) · 4.48 KB

README.md

File metadata and controls

112 lines (97 loc) · 4.48 KB

Tipos de Datos

🛠️ Requisitos

📝 Actividad

Consultar información de una cuenta perteneciente a un usuario específico.

Esta actividad complementa la descrita en las clases anteriores: README

  1. Generar una Clase de tipo enum con la que simularemos los tipos de cuenta.

    public enum AccountType {
        NOMINA, AHORRO, PLATINUM
    }

    Se recomienda crear un paquete para almacenar este tipo de datos. Ej. package com.wizeline.enums;

  2. Generar un nuevo DTO que contenga la información de una cuenta de banco.

     public class BankAccountDTO {
     
        private long accountNumber;
        private String accountName;
        private String user;
        private double accountBalance;
        private AccountType accountType;
        private String country;
        private boolean accountActive;
    
    }

    Recuerda generar los getters y setters correspondientes a cada propiedad.

  3. Crear una interface dentro del directorio existente: com.wizeline.BO con el metodo a implementar para obtener la información de la cuenta de un usuario.

    public interface BankAccountBO {
       BankAccountDTO getAccountDetails(String user);
    }

    El usuario de quien se quiere recuperar la información se envía como parámetro.

  4. Implementar la interface previamente creada, en cuya implementación se generara la información a consultar.

     public class BankAccountBOImpl implements BankAccountBO{
    
     @Override
     public BankAccountDTO getAccountDetails(String user) {
         return buildBankAccount(user, true);
     }
    
     // Creación de tipo de dato BankAccount
     private BankAccountDTO buildBankAccount(String user, boolean isActive) {
         BankAccountDTO bankAccountDTO = new BankAccountDTO();
         bankAccountDTO.setAccountNumber(123L);
         bankAccountDTO.setAccountName("Dummy Account");
         bankAccountDTO.setUser(user);
         bankAccountDTO.setAccountBalance(843.24);
         bankAccountDTO.setAccountType(AccountType.NOMINA);
         bankAccountDTO.setCountry("Mexico");
         bankAccountDTO.setAccountActive(isActive);
         return bankAccountDTO;
     }
    }

    Crea un método privado que construira la información de la cuenta del usuario haciendo uso del DTO (BankAccountDTO) previamente generado. Recuerda los valores que puede almacenar cada tipo de dato.

  5. Siguiendo el estilo existente en la clase principal (LearningJava) genera un nuevo context para manejar la solicitud y obtener los datos de una cuenta.

    Alt text

    public class LearningJava {
      /*
              code....
       */
      private static BankAccountDTO getAccountDetails(String user) {
        BankAccountBO bankAccountBO = new BankAccountBOImpl();
        return bankAccountBO.getAccountDetails(user);
      }
      
    }

    Genera un método privado para hacer la invocación de la clase y método encargados de regresar la información de la cuenta.

💻 Requests

curl --location --request GET 'http://localhost:8080/api/[email protected]&password=Pass1'

💡 Nota

La petición anterior 👆 se puede importar en Postman siemplemente copiando y pegandola en el apartado Raw text que aparece despues de hacer clic en el boton de importar.

✅ Response

{
    "country": "Mexico",
    "accountActive": true,
    "accountName": "Dummy Account",
    "accountType": "NOMINA",
    "accountNumber": 123,
    "accountBalance": 843.24,
    "user": "[email protected]"
}

📚 Recursos