Skip to content

API construída como projeto final para a disciplina de Programação Web III da formação de Web Full Stack ofertada pela Let's Code/Ada

Notifications You must be signed in to change notification settings

AnaCarolinaBraga/DogBreedsAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DogBreedsAPI

Projeto final do módulo de Programação Web III, com tema livre.

Teconologias utilizadas

  • .NET 6.0

  • ASP.NET Core Web API

  • C#

  • JSON

Nuget Package utilizado

  • Microsoft.AspNetCore.Authentication.JwtBearer 6.0.9

Como essa aplicação foi implementada?

  • A partir do login correto de um usuário é gerado um token JWT;

OBS: Os dados de acesso do administrador podem ser encontrados no appsettings.json. Colocar essas informações cruciais nesse arquivo NÃO é uma boa prática, mas foi disponibilizado dessa forma apenas para fins didáticos.

  • Esse token JWT é utilizado nos processos de Autenticação e Autorização para acesso as funcionalidades da DogBreedsAPI;
  • Sem um token autenticado, não é possível acessar as funcionalidades da DogBreedsAPI;
  • Toda vez que um POST, PUT, PATCH ou DELETE da DogBreedsAPI for executado com sucesso, será gerado um log (foi utilizado um filtro customizado para geração desses Logs);
  • Cada endpoint tem a declaração de retornos HTTP possíveis para eles, seguindo as práticas de programação;
  • Para facilitar a execução da aplicação em outros computadores, foi utilizado um Json para simular as movimentações no banco de dados. Um outro projeto que utiliza banco de dados pode ser visto aqui.

Gif demonstrativo da aplicação

Overview

O que acontece quando tenta solicitar um endpoint para a API sem estar autenticado

Processo de autenticação - Primeiro usuário que não existe, depois um que existe e demonstração que pode acessar os endpoints quando logado

    • É necessário logar através do POST da rota AthenticateLogin e fazer a autenticação para que possa acessar as funcionalidades da DogBreedsAPI.

Demonstração do funcionamento de todos os endpoints

Pt.1

Pt.2

Como ficou o registro de logs da demonstração anterior

Legendas

1- Post de uma nova raça

2- Put de uma raça ja existente (O Log de um Put de nova raça é igual ao Post de uma nova raça)

3- Patch de uma raça ja existente

4- Delete de uma raça pelo ID

Endpoints

AuthenticateLogin

  • POST: Para liberar acesso ao sistema, precisa fazer o login corretamente através desse endpoint.

DogBreeds

  • GET: Um GET das raças de cachorros paginado.
  • GET: Um GET de determinada raça através do ID.
  • POST: Um POST paginado no qual você pode decidir a partir de filtros quais serão os resultados que irão aparecer. Usar os filtros é opcional.
  • POST: Um POST que adiciona uma raça nova de cachorro. Ela define o ID sozinho.
  • PUT: Um PUT em que adiciona uma nova raça de cachorro, caso o ID dele não existe, ou atualiza uma raça de cachorro a partir de um ID já existente.
  • PATCH: Um PATCH que atualiza apenas as características de determinada raça de cachorro de determinado ID.
  • DELETE: Um DELETE que deleta uma raça de cachorro a partir de um ID.
As raças foram construídas segundo as informações desse site aqui.

About

API construída como projeto final para a disciplina de Programação Web III da formação de Web Full Stack ofertada pela Let's Code/Ada

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages