.NET SDK Version: net6.0
Modelo arquitetural: REST
Padrão arquitetural: Repository
Segurança: ASP.NET Identity, JWT
ORM: EntityFramework Core
- Api
- Negócios
- Acesso a dados
- Criação do repositório
- Criação do projeto (WebApi)
- Importação dos outros projetos (camada business + data)
- Implementação das ViewModels
- Criação das Controllers: Main + Fornecedores
- Abstração de configurações de DI (Program.cs)
- Configuração do contexto do EF para usar o SqlServer (Program.cs)
- Configuração da connection string (appsettings.json)
- Execução das migrations da camada Data
- Finalização de todos os endpoints de Fornecedores
- Testes dos endpoints com Postman
- Criação de respostas personalizadas, substituindo o padrão de validação do ModelState (MainController)
- Criação da controller de Produtos com upload de imagens
-
Implementação do ASP.NET Identity
- Criação do contexto Identity (ApplicationDbContext)
- Configuração do contexto para contemplar o SqlServer e se conectar no banco (IdentityConfig)
- Geração + execução da migration
- Implementação das configurações do Identity (IdentityConfig + Program.cs)
- Tradução das mensagens de erro do Identity para pt-BR
-
Autenticação
- Criação da controller de Autenticação (AuthController)
- Criação da ViewModel: User (Register + Login)
-
Implementação do Json Web Token (JWT)
- Criação da classe AppSettings
- Implementação da section JWT com os dados da classe criada (appsettings.json)
- Configuração do JWT (IdentityConfig)
- Geração e utilização do Token (Método na AuthController)
-
Autenticação com Claims
- Criação da classe CustomAuthorize
- Implementação do atributo nas controllers
- Adição das claims ao método de geração do Token
-
Finalização Auth: Retorno de dados extras no response da autenticação (Usuário + claims)
- Versionamento
- Instalação dos pacotes: ApiVersioning
- Configuração do ApiVersioning (Program.cs)
- Declaração de versão nas controllers
- Documentação
- Configuração do Swagger (SwaggerConfig)
- Autorização via JWT no Swagger (SwaggerConfig)
- AutoMapper.Extensions.Microsoft.DependencyInjection
- Microsoft.AspNetCore.Authentication.JwtBearer
- Microsoft.AspNetCore.Identity.EntityFrameworkCore
- Microsoft.AspNetCore.Identity.UI
- Microsoft.AspNetCore.Mvc.Versioning
- Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer
- Microsoft.EntityFrameworkCore.Design
- Microsoft.EntityFrameworkCore.Tools
- FluentValidation
- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.Tools
- Microsoft.EntityFrameworkCore.Design
- Microsoft.EntityFrameworkCore.SqlServer
Plataforma de aprendizagem : desenvolvedor.io
Curso : REST com ASP.NET Core WebAPI
Instrutor : Eduardo Pires