Sign inSign up

antoniny/api-extenso

By antoniny

•Updated over 6 years ago

Image
0

78

antoniny/api-extenso repository overview

Projeto criado para realização de um desafio corporativo. Criado um servidor HTTP que para cada requisição GET na api, será retornado um JSON cuja chave extenso será a versão por extenso do número inteiro enviado no path. Os números estão limitados no intervalo [-99999, 99999].

⁠Visão geral

O projeto é uma aplicação back-end com objetivo de demonstrar a construção de uma API utilizando os frameworks Spring Boot⁠, Spring MVC⁠ e Spring Data⁠ em conjunto.

⁠Tecnologias

  • Spring Boot⁠ é uma ferramenta que simplifica a configuração e execução de aplicações Java stand-alone, com conceitos de dependências “starters”, auto configuração e servlet container embutidos é proporcionado uma grande produtividade desde o start-up da aplicação até sua ida a produção.

  • Spring MVC⁠ é um framework já consolidado no mercado, que a partir da versão fornece mecanismos simplificados para a criação de APIs RESTful através de anotação, além disso, também possui recursos de serialização e deserialização de objetos de forma transparente

  • Spring Data JPA⁠ é um framework que abstrai o acesso ao modelo de dados, independente a tecnologia de base de dados.

  • H2 Database Engine⁠ é um banco de dados Open Source que funciona em memória com um console acessível pelo browser dentro do contexto da aplicação.

⁠Setup da aplicação com docker

⁠Executar servidor via docker - pull DockerHUB

O comando abaixo deverá realizar o pull(download) da imagem do repositorio DockerHub e na sequência excutar a mesma localmente.

https://hub.docker.com/r/antoniny/api-extenso⁠

Run:

docker run --name api-extenso -t -p 3000:3000 antoniny/api-extenso:latest

Nota: execute sem log no prompot de comando
docker run --name api-extenso -t -d -p 3000:3000 antoniny/api-extenso:latest

Stop:

docker stop api-extenso

Remove:

docker rm api-extenso

⁠APIs

http://localhost:3000/⁠
Swagger: http://localhost:3000/swagger-ui.html⁠
Api: http://localhost:3000/extenso/v1/⁠

O projeto disponibiliza uma API que utiliza o padrão Rest de comunicação, produzindo arquivo no formato JSON.

Segue abaixo a API disponível no projeto:

⁠Extenso
  • /extenso/v1/{number} (GET)

    • Espera atributo numérico no path da url para ser critério de busca e retorna no body do response a representação numérica. [-99999/99999]

    exemplo:

    λ curl http://localhost:3000/extenso/v1/1345
    {
      "extenso": "um mil trezentos e quarenta e cinco"
    }
    
       http://localhost:3000/extenso/v1/-34212
       {
         "extenso": "menos trinta mil duzentos e doze"
       }
    

Tag summary

Content type

Image

Digest

Size

118 MB

Last updated

over 6 years ago

docker pull antoniny/api-extenso