/desafio-idwall

Desafio proposto pela empresa Idwall durante o último semestre na FIAP, onde seria necessário criar uma API capaz de trazer dados de criminosos que pertencem a lista do FBI e da Interpol.

Primary LanguageJava

Desafio Idwall

Desafio proposto pela empresa Idwall durante o último semestre na FIAP, onde seria necessário criar uma API capaz de trazer dados de criminosos que pertencem a lista do FBI e da Interpol.

Definições técnicas

Implementação utilizando o Java 17 e a versão 3.0.6 do Spring Boot, além do MongoDB para armazenamento e leitura dos dados. A aplicação conta com o uso do Feign Client para consumo das APIs do FBI e Interpol.

Sobre a API

A API possui implementado três endpoints responsáveis por retornar os dados consumidos das APIs do FBI e da Interpol, inicialmente falando sobre os endpoints para os dados do FBI, temos:

GET
  • /fbi/busca-nome
  • Endpoint responsável por receber via parâmetro o nome do criminoso e retornar os dados do criminoso através da busca por nome, caso exista.
  • /fbi/busca-lista-categoria
  • Endpoint responsável por receber via parâmetro uma categoria, qual realizará um de-para com as categorias descritas em inglês disponíveis na API do FBI e alterado para o português, retornando os dados dos criminosos na lista.

Para o consumo dos dados da API do Interpol, temos o endpoint interpol/busca-nome, assim como o endpoint responsável por buscar através do nome no endpoint do FBI, neste endpoint ele retornará os dados do criminoso conforme disponibilizado pela API da Interpol.

Todos os dados estarão sendo armazenados conforme as requisições nos endpoints e poderão ser visualizados através dos endpoints:

GET
  • /storage/busca-nome
  • Endpoint responsável por retornar uma lista contendo todos os dados através do nome procurado.
  • /storage/busca-ano
  • Endpoint responsável por retornar uma lista contendo todos os dados através do ano de nascimento procurado.

Documentação

A API está configurada com as anotações do OpenApi para visualização do contrato e no pacote de recursos da estrutura do projeto foi inserido collections do postman usadas para testes durante a criação da aplicação.

Swagger: contrato-swagger.json