Skip to content

Gustavo dias - Challenge realizado!#191

Open
gustavodscruz wants to merge 7 commits intoApiki:masterfrom
gustavodscruz:gustavo-dias
Open

Gustavo dias - Challenge realizado!#191
gustavodscruz wants to merge 7 commits intoApiki:masterfrom
gustavodscruz:gustavo-dias

Conversation

@gustavodscruz
Copy link

Realizei o desafio proposto de construir uma api para conversão de moedas e com as restrições pedidas, além de alguns tratamentos!

  • Roteamento e ponto de entrada (src/index.php)

    • Parseia a URI via $_SERVER['REQUEST_URI']
    • Filtra requisições a arquivos estáticos e valida o padrão /exchange/{amount}/{from}/{to}/{rate}
    • Em caso de rota inválida, chama Response::routeNotFound
    • Encaminha os segmentos válidos para ExchangeController::convert
  • Lógica de conversão (src/ExchangeController.php)

    • Define arrays de moedas suportadas e símbolos correspondentes
    • Valida se o par de moedas é permitido; se não, retorna Response::exchangeNotSupported com lista de opções
    • Calcula o valor convertido e retorna sucesso via Response::exchangeOk
  • Respostas HTTP padronizadas (src/Response.php)

    • Centraliza o envio de JSON e código de status com json(array $data, int $status)

    • Métodos auxiliares:

      • routeNotFound (400 Rota não encontrada)
      • exchangeNotSupported (400 Moeda não suportada)
      • exchangeOk (200 Conversão realizada com sucesso)

@gustavodscruz
Copy link
Author

Observação!!

A versão anteriormente estava apontada como 7.4, alterei para 8.1.2 no composer.json para apontar a versão correta!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant