Esta é a documentação para a API de uma loja de games que permite a manipulação de dados de produtos e categorias relacionadas a jogos. Esta API foi construída seguindo as melhores práticas do ASP.NET e oferece funcionalidades completas para gerenciar produtos e categorias.
Para fazer os testes de forma online e sem necessidade de configurações, basta acessar o link do deploy e começar a utilizar.
Para configurar a aplicação para executar em ambiente local, é necessário ter instalado o Docker e o .NET 7 SDK, e assim seguir o passo a passo abaixo:
git clone https://github.com/brenonsc/BaldursGameStoreAPI.git
cd BaldursGameStoreAPI
docker compose up
Certifique-se de alterar a variável "Environment":"Start" no arquivo appsettings.json
do projeto (localizado dentro da pasta BaldursGame). A mesma está com o valor "PROD", que deve ser alterado para "DEV" para ser usado localmente, como representado abaixo:
"Environment": {
"Start": "DEV"
},
Volte ao Terminal ou CMD e execute os seguintes comandos:
cd BaldursGame
dotnet run
Outra opção é usar uma IDE .NET de sua preferência, como Visual Studio ou Jetbrains Rider. A aplicação estará disponível em localhost://5000, no seu navegador.
A API está documentada no Swagger. Certifique-se de testar todas as operações CRUD para os recursos "Produto", "Categoria" e "Usuários", bem como os endpoints de busca por intervalo de preço e título ou console.
Para usar o método de login e obter um token JWT válido, faça uma solicitação POST para /api/usuarios/logar
com as credenciais do usuário no corpo da solicitação. O servidor irá gerar um token JWT que deve ser incluído no cabeçalho das solicitações subsequentes como Bearer Token para autenticar o usuário. O token é válido por 1 hora, após o qual será necessário fazer login novamente.
Exemplo de cabeçalho de autenticação:
Authorization: Bearer <seu-token-jwt>
A fim de garantir a segurança dos recursos e dados da API, foram implementadas regras de acesso que restringem determinadas operações com base na autenticação do usuário. Abaixo, estão as restrições de acesso para os recursos "Produto" e "Categoria":
- Todos os métodos CRUD relacionados ao recurso "Produto" requerem autenticação com um token JWT válido no cabeçalho da solicitação. Isso garante que apenas usuários autenticados tenham acesso a essas operações.
Para o recurso "Usuário", a seguinte política de segurança foi implementada:
- Cadastro de Usuário: O método de cadastro de usuário (
POST /api/usuarios/cadastrar
) pode ser acessado de forma anônima, ou seja, sem a necessidade de autenticação. Isso permite que novos usuários se registrem na plataforma. - Login de Usuário: O método de login (
POST /api/usuarios/logar
) também pode ser acessado de forma anônima. No entanto, ao fazer login com sucesso, um token JWT válido é gerado e fornecido ao usuário. Este token deve ser usado para autenticar todas as outras operações subsequentes que exigem autenticação.
Lembrando que a segurança é fundamental para proteger os dados e garantir a integridade da plataforma. Certifique-se de incluir o token JWT válido no cabeçalho das solicitações sempre que necessário.
Este software está licenciado sob a Licença MIT.