A MandaCaru Broker API é uma aplicação Spring Boot desenvolvida para facilitar o gerenciamento de informações relacionadas a ações (stocks) por meio de operações CRUD (Create, Read, Update, Delete). Com essa API, os usuários podem realizar diversas operações, como listar todas as ações disponíveis, obter detalhes de uma ação específica, criar novas ações, atualizar informações de ações existentes e excluir ações do sistema.
O Mandacaru Broker API aceita os seguintes parâmetros em suas solicitações:
• symbol: O símbolo da ação, que deve consistir em três letras seguidas de um número. Por exemplo: BBAS3.
• companyName: O nome da empresa associada à ação.
• price: O preço da ação.
• id: O ID único associado a cada ação na plataforma.
Obtenha uma lista completa de todas as ações disponíveis.
Endpoint:
GET /stocksExemplo de Resposta:
{
{
"id": 1,
"symbol": "XYZ1",
"companyName": "XYZ Corporation",
"price": 150.25
},
{
"id": 2,
"symbol": "ABC2",
"companyName": "ABC Inc.",
"price": 2775.00
},
...
}Este endpoint permite que você obtenha uma lista completa de todas as ações disponíveis na plataforma.
Retorna os detalhes de uma ação específica com base no ID.
Endpoint:
GET /stocks/{id}Parâmetros:
id: O ID único da ação que deseja ser obtida.
Exemplo de Solicitação
GET /stocks/1Exemplo de Resposta:
{
"id": 1,
"symbol": "XYZ1",
"companyName": "XYZ Corporation",
"price": 150.25
}Ao fornecer o ID da ação desejada, este endpoint retorna os detalhes completos dessa ação específica.
Cria uma nova ação com base nos dados fornecidos.
Endpoint:
POST /stocksCorpo da Solicitação (Request Body):
{
"symbol": "XYZ1",
"companyName": "XYZ Corporation",
"price": 56.97
}Exemplo de Resposta (Status 201 - Created):
{
"id": 3,
"symbol": "XYZ1",
"companyName": "XYZ Corporation",
"price": 56.97
}Este endpoint permite a criação de uma nova ação. Para isso, você precisa fornecer os detalhes da nova ação no corpo da solicitação.
Também é necessário você incluir o símbolo da ação, o nome da empresa e o preço no formato JSON.
Atualiza os detalhes de uma ação específica com base no ID.
Endpoint:
PUT /stocks/{id}Parâmetros:
id: O ID único da ação que deseja ser atualizada.
Corpo da Solicitação (Request Body):
{
"symbol": "BBA3",
"companyName": "Banco do Brasil",
"price": 59.97
}Exemplo de Resposta (Status 200 - OK):
{
"id": 1,
"symbol": "XYZ",
"companyName": "XYZ Corporation",
"price": 159.97
}Ao fornecer o ID da ação que deseja atualizar e os novos detalhes no corpo da solicitação, este endpoint permite a atualização dos detalhes dessa ação.
Remove uma ação específica com base no ID.
Endpoint:
DELETE /stocks/{id}Parâmetros:
id: O ID único da ação que deseja ser excluída.
Exemplo de Solicitação:
DELETE /stocks/3Exemplo de Resposta (Status 204 - No Content):
Nenhum conteúdo na resposta, apenas o status 204 indicando que a exclusão foi bem-sucedida.
Este endpoint permite a exclusão de uma ação específica com base no ID fornecido. Uma vez excluída, a ação não estará mais disponível na lista de ações.
Para autenticar um usuário e obter um token JWT, envie uma solicitação POST para o endpoint /auth/register com as credenciais do usuário no corpo da solicitação
Exemplo de Solicitação:
POST /auth/register
Content-Type: application/json
{
"login": "novo_usuario",
"password": "sua_senha_segura",
"email": "[email protected]",
"firstName": "Primeiro Nome",
"lastName" : "Sobrenome",
"birthDate": "1990-01-01",
"balance": 100,
"role" : "ROLE_USER"
}
Para autenticar um usuário e obter um token JWT, envie uma solicitação POST para o endpoint /auth/login com as credenciais do usuário no corpo da solicitação
POST /auth/login
Content-Type: application/json
{
"username": "usuario_exemplo",
"password": "senha_exemplo"
}Se as credenciais forem válidas, o servidor retornará um token JWT no corpo da resposta. Este token pode então ser usado em requisições posteriores para acessar rotas protegidas da API.
Exemplo de Solicitação:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyX2V4cGxvbWUiLCJpYXQiOjE2NDE2NzAwMjEsImV4cCI6MTY0MTY3MzYyMX0.q1x_NJ-Gk43sq0m6e5z6Tv7Zz1fI0_gR-5vEwYSvT1s"
}Realiza um depósito na conta do usuário.
Endpoint:
POST /depositCorpo da Solicitação (Request Body):
{
"amount": 100.00
}Exemplo de Resposta (Status 200 - OK):
{
"message": "Depósito realizado com sucesso"
}Realiza um saque na conta do usuário.
Endpoint:
POST /withdrawCorpo da Solicitação (Request Body):
{
"amount": 50.00
}Exemplo de Resposta (Status 200 - OK):
{
"message": "Saque realizado com sucesso"
}- Clone o repositório:
git clone https://github.com/Guilherme76/MandacaruBroker_Parte2 - Importe o projeto em sua IDE preferida.
- Configure o banco de dados e as propriedades de aplicação conforme necessário. A aplicação original utiliza o PostgreSQL como banco de dados. Certifique-se de ter um servidor PostgreSQL em execução e atualize as configurações de banco de dados no arquivo
application.properties. - Execute o aplicativo Spring Boot.
- Acesse a API em
http://localhost:8080.
Você também pode usar o Postman ou qualquer outra ferramenta similar para testar os endpoints da API.
- Java 11 ou superior
- Maven
- Banco de dados
- PostGreSQL
- Spring Boot: Spring Boot é um framework Java que simplifica o processo de criação de aplicativos Java, fornecendo configurações padrão e convenções de projeto. Ele facilita o desenvolvimento de aplicativos robustos, escaláveis e fáceis de manter, integrando-se bem com outras tecnologias e frameworks.
- Spring Data JPA: Spring Data JPA é parte do ecossistema Spring e fornece suporte para a implementação de camadas de persistência de dados em aplicativos Java com o uso do JPA (Java Persistence API). Ele simplifica o acesso e a manipulação de dados em bancos de dados relacionais por meio de interfaces de repositório e consultas derivadas.
- Maven: Maven é uma ferramenta de automação de compilação e gerenciamento de dependências para projetos Java. Ele simplifica o processo de construção, empacotamento e distribuição de aplicativos Java, gerenciando automaticamente as dependências do projeto e facilitando a configuração do ambiente de desenvolvimento.
- PostgreSQL: PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto e altamente escalável. Ele é amplamente utilizado em aplicativos corporativos e de missão crítica devido à sua confiabilidade, desempenho e recursos avançados de segurança e integridade de dados. Na API, o PostgreSQL é usado como o banco de dados principal para armazenar e manipular as informações sobre as ações (stocks).
Essas tecnologias trabalham em conjunto para fornecer uma base sólida para a Mandacaru Broker API, permitindo o desenvolvimento de uma aplicação eficiente, escalável e de alto desempenho para gerenciar informações sobre ações de forma confiável e segura.
Caso queira contribuir com a ideia ou relatar um problema, sinta-se a vontade para abrir uma Issue ou um Pull Request, toda e qualquer contribuição será bem-vindas!
Este projeto está licenciado sob a Licença MIT.