Projeto prático da criação de uma API RESTful em C# para interação com banco de dados SQL Server que armazena dados de filmes, como: título, data de lançamento etc.
O objetivo do projeto é criar uma API simples para consultar, criar, atualizar e deletar dados utilizando o formato JSON, através de requisições HTTP.
Método | Rota | Corpo da Requisição | Retorno | Ação |
---|---|---|---|---|
GET | /api/Filme | Objeto JSON | Retorna 10 filmes | |
GET | /api/Filme?offset=5&limit=5 | Objeto JSON | Retorna 5 filmes a partir do 5º | |
GET | /api/Filme/{id} | Objeto JSON | Retorna um filme | |
POST | /api/Filme | Objeto JSON | Objeto JSON | Registra um filme |
PUT | /api/Filme | Objeto JSON | Objeto JSON | Altera um filme |
DELETE | /api/Filme | Objeto JSON | Objeto JSON | Exclui um filme |
{
"id": 0,
"titulo": "string",
"bilheteria": 0,
"dataLancamento": "0001-01-01",
"genero": "Acao"
}
{
"data": {
"id": 0,
"titulo": "string",
"bilheteria": 0,
"dataLancamento": "0001-01-01",
"genero": "Acao"
},
"message": "Mensagem de sucesso"
}
Para rodar a aplicação, é necessário possuir instaladas as seguintes ferramentas:
No terminal, clone o projeto:
git clone https://github.com/MatheusMGrassano/ApiFilmes
Altere as credenciais de conexão com o banco de dados através do arquivo appsettings.json
Altere as configurações "Data Source" para o nome do servidor conectado no SQL Server e "Database" para um nome à sua escolha para o banco de dados que será criado.
Exemplo de ConnectionString:
"ConnectionStrings": {
"Default": "Data Source=NomeDoServidor;Database=NomeDoBancoDeDados;Trusted_connection=true;Encrypt=false;TrustServerCertificate=true"
}
No terminal, acesse a pasta raiz do projeto e digite os seguintes comandos:
dotnet tool install --global dotnet-ef
Crie a migração de geração do banco de dados:
dotnet ef migrations add DataBaseCreation
Aplique a migração criada no banco de dados:
dotnet ef database update
No terminal, acesse a pasta do projeto e digite o comando:
dotnet watch run
Após isso, automaticamente uma aba do navegador abrirá com a interface do Swagger UI, exibindo todas as opções de requisições disponíveis.
Os testes podem ser realizados da forma que for mais conveniente, utilizando aplicações externas como Postman ou Insomnia, mas, integrado ao projeto, já é disponibilizado uma ferramenta para testes das requisições.
A interface do Swagger UI será a aba do navegador que abrirá automaticamente ao rodar o projeto, contendo todos os recursos já disponíveis para testar, juntamente com exemplos dos Request Body e Response Body, além dos Schemas dos tipos utilizados na API.