Skip to content

omartins-zs/ChapterApiWeb

Repository files navigation

Chapter Api Web

Criação de uma API seguindo padrões que são utilizados em softwares, como padrao MVC e Boas praticas de desenvolvimento usando C#

Projeto feito Passo a Passo com o Tutorial de Api do Senai e Meet

🚀 Frameworks

Teste

Documentação e Teste da API - Swagger

Decodificaçao de Token e Explicação - JSON Web Tokens - jwt.io

Documentação XUnit

Documentação MSTest


👨‍💻 Rodando localmente

Swagger

https://localhost:5001/index.html

Insomnia

http://localhost:5000/api/

Realizar Teste do JWT e Authentication

  1. No insomnia no Get Listar Livros Clickar em Auth e Selecionar Bearer Token

  2. Copiar e colar Token

  3. Checked Enabled estar Habilitado


Documentaçao da Api

Configurado Variables {{URL}} no Postman

{{URL}} = http://localhost:3000

📝 Instrucões do banco de dados e Pacotes do Nuget

  • db.sql -> Banco de dados Inicial

  • dbAutores.sql -> Usado para criar Tabela Autores

  • dbUsuarios.sql -> Usado para criar Tabela Usuarios


  • Microsoft.EntityFrameworkCore.SqlServer -> Para utilizar Migrations SQL

  • Swashbuckle.AspNetCore -> Para utilizar o Swagger

  • System.IdentityModel.Tokens.Jwt -> Para identificação de JWT

  • Microsoft.AspNetCore.Authentication.JwtBearer -> Para Interpretar Autenticação JWT

  • Moq -> A biblioteca de simulação mais popular e amigável para .NET para Mockar(Criar e usar arquivos falsos no C#)

Aprendizados

Diferença de Autenticado e Autorizado

1º Exemplo

  • Autenticação: Verifique a carteira de estudante, significa que ele ou ela pertence à nossa escola ou não.
  • Autorização: Verifique se o aluno tem permissão para sentar ou não no Laboratório de Programação de Computadores.

2º Exemplo

  • A autenticação trata da validação da conta do usuário. Este é um usuário válido? Este usuário está cadastrado em nosso aplicativo ?. por exemplo: Login
  • A autorização trata da validação de acesso do usuário a determinado recurso. Este usuário tem autorização / direito de acessar este recurso? por exemplo: reivindicações, funções

Melhorias a fazer:

Melhorar Codigo e Implemetar Tabela Autores
  • Refazer os Passos Criando Autores Controller

  • Criar Autores Repository

  • Refazer os Passos Criando Autores Controller

  • Criar Classe Autor.cs na Pasta Models

  • Criar Tabela Autores com o Script Pronto dbAutores.sql

  • Criar Classe Autor.cs na Pasta Models

  • Criar no Context a Ligaçao Entre o Banco e Model Autor

  • Criar Classe AutorRepository.cs na Pasta Repositories

  • Adicionar no Startup -> services.AddTransient<UsuarioRepository, UsuarioRepository>();

❌ Correçao de Erros

SQL Server não está em execução Erro de rede ou específico à instância ao estabelecer conexão com o SQL Server

Instalar Pacotes do Nuget
  1. Ir no Explorador de Arquivos do VS
  2. Abrir na pasta dependencias
  3. Clickar com o botao direito em pacotes
  4. Ir em gerenciar pacotes do Nuget
  5. Na aba aberta Clickar na engrenagem(Configurações)
  6. Ir no icone "+"
  7. Adicionar em nome : Nuget.org
  8. Adicionar em Origem : https://api.nuget.org/v3/index.json
  9. Abrir na pasta dependencias
  10. Clickar em Ok

📄 Auxiliar e Docs

🖋️ Dicas

  • Atalhos Snippets de código C#
  • Indentar -> Ctrl + K + D
  • Atalhos de Completaçao de Codigo
  • Para fazer Using -> Ctrl + .
  • O Preenchimento de código com Ctrl+Space
  • Usar Atalho do IntelliSense prop -> Para Criar Atributos do Objeto

About

Criação de uma API seguindo padrões que são utilizados em softwares de grandes empresas, como padrao MVC e Boas praticas de desenvolvimento

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors