Esta documentação descreve a API RESTful desenvolvida para o Armazém do Mago, que permite ao mago gerenciar seus itens mágicos. A API foi desenvolvida em .NET 6.0/7.0 e utiliza o Entity Framework Core como ORM. A aplicação é capaz de adicionar, remover, listar, atualizar e classificar os itens mágicos do mago.
- .NET SDK 6.0 ou 7.0
- Banco de dados (por exemplo, SQL Server, PostgreSQL, SQLite)
- Preferencialmente fazer uso do Visual Studio
-
Clone o repositório GIT da aplicação:
-
Navegue até o diretório da aplicação:
-
Execute o aplicativo e teste com o Swagger:
Para acessar o banco de dados, selecione a aba "view" no Visual Studio e clique em "Sql Server Object Explorer", ou execute o comando "Ctrl+j, Ctrl+s".
A API possui os seguintes endpoints:
POST /api/MagicItems
: Adiciona um novo item mágico.PUT /api/MagicItems/{id}
: Atualiza as informações de um item mágico existente.GET /api/MagicItems
: Lista todos os itens mágicos.DELETE /api/MagicItems/{id}
: Remove um item mágico.GET /api/MagicItems/Alert/{id}
: Verifica se o mago tem menos de 3 unidades de um item específico e retorna um alerta.GET /api/MagicItems
: Lista os itens mágicos classificados por poder mágico, do mais poderoso ao menos poderoso.
A API utiliza autenticação básica para acessar os endpoints. Certifique-se de fornecer as credenciais tal como no exemplo abaixo:
Após isso, copie o Token de acesso sem as aspas:
Copie e cole o Token junto com a palavra "Bearer", seguida de um espaço, da seguinte maneira:
A aplicação utiliza um banco de dados para armazenar informações sobre os itens mágicos. A estrutura da tabela é a seguinte:
- Tabela
MagicItems
: Id
(Chave Primária, Inteiro): Identificador único do item.Nome
(Texto): Nome do item mágico.Descrição
(Texto): Descrição do item mágico.Quantidade
(Inteiro): Quantidade de unidades do item.PoderMágico
(Inteiro): Valor que representa o poder mágico do item.
Aqui estão alguns exemplos de como usar os endpoints da API:
POST /api/Magicitems
Content-Type: application/json
{
"nome": "Poção de Cura",
"descrição": "Cura instantaneamente ferimentos",
"quantidade": 5,
"poderMágico": 10
}
PUT /api/Magicitems/1
Content-Type: application/json
{
"quantidade": 4
}
GET /api/Magicitems
GET /api/Magicitems/2
DELETE /api/Magicitems/1
DELETE /api/Magicitems/Alert/1