Skip to content

elizapimentel/feignClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CONSUMINDO API EXTERNA DO BANCO CENTRAL COM FEIGN

Projeto consiste em consumir dados de uma API pública com intuito de salvar e manipular suas informações.


📑 Arquitetura do Projeto

├──📁 feignClient
    ├─📁  src   
    | ├─📁 main
    | | ├─📁 java
    | | | ├─📁 com.eliza.feignClient
    │ | | | ├─📁client 
    │ | │ │ │ └─📄BacenClient 
    | | | | ├─📁 controllers
    | │ | | | ├─📁exceptionHandler            
    │ │ | │ │ │ └─📄ControllerExceptionHandler 
    │ │ | │ │ │ └─📄FieldMessage 
    │ | | | | │ └─📄StandardError 
    │ | | | | | └─📄ValidationError 
    | | | | | └─📄TaxaJurosController          
    │ | | | ├─📁mapper 
    │ | │ │ │ └─📄TaxaJurosMapper
    │ | | | ├─📁model        
    │ | | | | ├─📁dto    
    | │ | | | | └─📄TaxaJurosDTO 
    | │ | | | | └─📄TaxaJurosResponse
    | | | | | └─📄TaxaJurosRequest
    │ | | | ├─📁repositories              
    │ | │ │ │ └─📄TaxaJurosRepository 
    │ | | | ├─📁services
    | │ | | | ├─📁exceptions            
    │ │ | │ │ │ └─📄TaxaJurosNotFoundException             
    │ | │ │ │ └─📄TaxaJurosService 
    | | | | │ └─📄TaxaJurosServiceImpl 
    │ | | | ├─📁utils
    | │ | | | ├─📁constants            
    │ │ | │ │ │ └─📄Messages             
    │ | │ │ │ └─📄CNPJValidator 
    │ | | | | ├─📁wrapper    
    | │ | | | | └─📄PaginatedResponse 
    | │ | └─📄FeignClientApplication  
    | | ├─📁 resources  
    | | | ├─📁 static          
    | | | ├─📁 template          
    | | | └─📄 application.properties  
    | | ├─📁 test  
    | | | ├─📁 java   
    | | | ├─📁 com.eliza.feignClient
    | | | | ├─📁 controllers
    | │ | | | ├─📁exceptionHandler            
    │ │ | │ │ │ └─📄ControllerExceptionHandler    
    | | | | | └─📄TaxaJurosControllerTest
    │ | | | ├─📁feignClient              
    │ | │ │ │ └─📄BacenClientTest
    │ | | | ├─📁integration              
    │ | │ │ │ └─📄TaxaJurosControllerTest
    │ | | | ├─📁services            
    │ | │ │ │ └─📄TaxaJurosServiceImplTest
    │ | │ └─📄FeignClientApplicationTests
    ├─📁 target
    ├─📄.gitignore
    ├─📄 HELP.md         
    ├─📄 mvnw                 
    ├─📄 mvnw.cmd                 
    ├─📄 pom.xml                 
    └─📄 README.md

⚙️ Dependências do Projeto

- OpenFeign cloud
- Lombok
- Validation
- jUnit5 - Teste
- Jacoco
- Caellum Stella (CNPJ Validation)
- Mapstruct

💻 Dependências de ambiente

- Java 11 
- MySQL
- Maven

📚 Collection

A collection possui uma coleção onde armazenamos as informações de retorno da API externa.

Exemplo de Dado cadastrado no BACEN:

[
    {
      "id": 1,
      "Mes": "Jan-2023",
      "Modalidade": "FINANCIAMENTO IMOBILIÁRIO COM TAXAS REGULADAS - PRÉ-FIXADO",
      "Posicao": 1,
      "InstituicaoFinanceira": "BCO DO BRASIL S.A.",
      "TaxaJurosAoMes": 0.0,
      "TaxaJurosAoAno": 0.0,
      "cnpj8": "00000000",
      "anoMes": "2023-01"
    }
]

🛣️ ROTAS


O projeto foi estruturado seguindo modelo da estrura de Arquitetura de Software Rest/Restful, utilizando os protocolos HTTP - POST, GET, PUT, DELETE - CRUD.


Método GET

Método Rota Descrição
GET http://localhost:8090/taxasMes?retornar=qtd Lista que retorna os itens do BACEN
GET http://localhost:8090/taxasMes/ Lista todos os itens que foram salvos no Banco de Dados
GET http://localhost:8090/taxasMes/id Busca por ID
GET http://localhost:8090/taxasMes/anoMes?anoMes=anoMes Busca por ANO-MES
GET http://localhost:8090/taxasMes/filtrar?pag=pag&tam=tam Busca por PAGINAÇÃO e QUATIDADE de itens

Método POST

Método Rota Descrição
POST http://localhost:8090/taxasMes/novo Cria novo registro

Método PUT

Método Rota Descrição
PUT http://localhost:8090/taxasMes/id Atualizar os dados dos clientes por ID

Método DELETE

Método Rota Descrição
DELETE http://localhost:8090/taxasMes/id Deletar registro de cliente por ID

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages