Seja bem vindo, esse projeto foi feito no intuito de criar uma API com SQL server utilizando o pacote SqlClient.
A utilização do System.Data.SqlClient é para poder ter uma conexão com database sem a necessidade de um ORM para intermédio de acessar, buscar e inserir dados, como deve ver em meu projeto eu faço Querys para a interação com banco, dando uma liberdade de construção das tabelas até mesmo a injeção de dados nas mesmas.
Fiz a utilização de Dtos e da Lib do AutoMapper para melhorar a utilização da API.
- Utilizando a linguagem C#.
- Utilizando banco de dados SQLServer.
- .NET 6
- AutoMapper 12.0.1
- System.Data.SqlClient 4.8.5
Comandos | Descrição |
---|---|
dotnet build |
Constroi o projeto e todas suas dependências |
dotnet run |
Inicia o projeto |
Para acessar a API, basta clicar no Link do swagger a baixo após rodar o dotnet run:
API em si é bem simples de ir utilizando, meu passo a passo de utilização vai ser criando um client e vinculando ele em um user.
Iremos inserir:
- O Nome do Cliente (name_client).
- O Id do usuário (user_id) para vincular no cadastro do cliente.
- A data de criação pode ser utilizado o que o swagger gera.
O Id do Cliente é gerado automaticamente quando é criado, o cadastro de usuário segue do mesmo jeito.
Podemos ver o retorno utilizando o endpoint de buscar por Id, no caso seria o detalhar do cliente.
Fiz questão de criar um endpoint no ClientController para buscar somente os clientes vinculados a um usuário.
Os endpoint esperados estão funcionando perfeitamente.
Endpoints de User
Verbo | Endpoint | Parâmetro | Body |
---|---|---|---|
POST | /User/post/ | N/A | Schema User |
GET | /User/get-all/ | N/A | N/A |
GET | /User/get-by-id/{user_id} | user_id | N/A |
PUT | /User/{user_id} | user_id | Schema User |
DELETE | /User/{user_id} | user_id | N/A |
Endpoints de Client
Verbo | Endpoint | Parâmetro | Body |
---|---|---|---|
POST | /Client/post/ | N/A | Schema Client |
GET | /Client/get-all/ | N/A | N/A |
GET | /Client/get-clients-by-user/{user_id} | id | N/A |
GET | /Client/get-by-id/{client_id} | id | N/A |
PUT | /Client/update/{client_id} | id | Schema Client |
DELETE | /Client/delete/{client_id} | id | N/A |
O schema (model) dos endpoitns, são utilizado para passar os campos exigidos, como no verbo POST e PUT.
Todas solicitações como GET, POST, PUT e DELETE que correspondem como CREATE, READ, UPDATE e DELETE (CRUD) estão funcionando.
Visualização do Swagger:
Segue a lista de commits para verificar o que foi implementado e alterado! Utilizo o Conventional Commits Pattern para ajudar e detalhar o contexto de cada commit efetuado.
- Github: Victor Hugo.
- LinkedIn: Victor Hugo.
- Meu Site: Victor99dev.
- Todas as informações do .Net, sendo comandos ou qualquer outra informação foi retirada da documentação oficial.
- Documentações:
- Dbeaver é por onde acesso meus bancos de dados: Link