Skip to content

03_wepapi

Douglas Fernandes Pereira da Silva Jr edited this page May 28, 2019 · 10 revisions

Repositórios

Neste exemplo vamos criar um exemplo básico de repositório para manipulação de dados, e a criação de um repositório genérico.

Começamos este passo na branch topicos/t3/p4.

Passo a Passo 1 - Web API

Vamos criar a projeto de API, junto com o restante da estrutura do projeto BLL ( regras de negócio ) e DL ( Modelos e Classes)

  1. Clique com o botão direito na solution, e escolha a opção ADD -> New Project
  • Na tela selecione .NET Core (Dentro de Visual C#), escolha a opção Class Library (.NET Core).
  • No Name: digite: AcessoDados.BLL.
  1. Clique com o botão direito na solution, e escolha a opção ADD -> New Project
  • Na tela selecione .NET Core (Dentro de Visual C#), escolha a opção Class Library (.NET Core).
  • No Name: digite: AcessoDados.DL.
  1. Clique com o botão direito na solution, e escolha a opção ADD -> New Project
  • Na tela selecione .NET Core (Dentro de Visual C#), escolha a opção ASP.NET Core Web Application.
  • No Name: digite: AcessoDados.API.
  • Confirme que a versão está como ASP.NET Core 2.1
  • Escolha o modelo API
  • Em Authentication deixe a configuração No Authentication.
  • Clique em OK.

Projeto AcessoDados.DAL

  1. Adicione o projeto AcessoDados.DL como referência.
  2. Através do NuGet, vá a aba de pacotes instalados Installed. Volte a versões dos seguintes pacotes para a 2.1.11, isso é portante para a compatiblidade com a versão da API, com o ASP.NET Core 2.1 ( Faça na ordem).
  • Microsoft.EntityFrameworkCore.SqlServer
  • Microsoft.EntityFrameworkCore.Tools
  • Microsoft.EntityFrameworkCore.Design

Projeto AcessoDados.BLL

  1. Adicione o projeto AcessoDados.DAL como referência.
  2. Adicione o projeto AcessoDados.DL como referência.

Projeto AcessoDados.API

  1. Adicione o projeto AcessoDados.BLL como referência.
  2. Adicione o projeto AcessoDados.DAL como referência.
  3. Adicione o projeto AcessoDados.DL como referência.
  4. Clique com o botão direito no projeto AcessoDados.API, e escolha a Set as StartUp Project

Branch final topicos/t4/p1. Para ver as alterações completas DIFF das alterações.

Passo a Passo 2 - Swagger + API de Categorias

Vamos criar nossa primeira API, de Listagem de categorias

Projeto AcessoDados.DL

  1. Adicione a pasta API.
  2. Dentro da pasta API, Adicione a pasta Response.
  3. Dentro da pasta API.Response, adicione a classe CategoriaResponseModel. Arquivo final.

Projeto AcessoDados.BLL

  1. Adicione a pasta Services.
  2. Dentro da pasta Services, adicione a classe CategoriaService. Arquivo final.

Projeto AcessoDados.API

  1. Dentro da pasta Controllers, adicione a classe CategoriasController. Arquivo final.
  2. Através do NuGet adicione o pacote Swashbuckle.AspNetCore.
  3. Vamos alterar o arquivo Startup.cs, para configurar o swagger na aplicação. DIFF alterações Arquivo final.

Execute o projeto, e acesse /swagger para ver a API publicada.

Passo a Passo 3 - Repositório com Injeção de Dependências

Vamos alterar os repositórios usar a estrutura de injeção de dependência, ter algumas simplificações, e conseguir ter acesso ao usuário que está logado.

Projeto AcessoDados.DAL

  1. Vamos alterar o arquivo RepositorioComum.cs, para este usar a dependência de usuário logado. DIFF alterações Arquivo final.
  2. Vamos Deletar o arquivo RepositorioCategoria.cs, por ser redundante.
  3. Vamos atualizar o arquivo RepositorioVideos.cs, para herdar a dependência. DIFF alterações Arquivo final.

Projeto AcessoDados.BLL

  1. Vamos atualizar o arquivo CategoriaService, para utilizar a estrutura de injeção de dependência através do construtor.DIFF alterações Arquivo final.

Projeto AcessoDados.API

  1. Vamos alterar o arquivo Startup.cs, para configurar as injeções de dependência. DIFF alterações Arquivo final.
  2. Vamos alterar a classe CategoriasController, para usar a estrutura de injeção de dependências. DIFF alterações Arquivo final.

Projeto AcessoDados.ConsoleApp

  1. Vamos alterar o arquivo Program.cs, para remover erros de compilação DIFF alterações Arquivo final.

Execute o projeto, e acesse /swagger para ver a API publicada.

PAsso a Passo 4 - API de Vídeos

Clone this wiki locally