ASP.NET Core WEB API e SQLServer.

ASP.NET Core Web API é um framework que tem como principal finalidade dispor serviços HTTP com restpara os diversos dispositivos como celulares, tablets, etc., onde tais dispositivos possam se conectar e consumir informações. O padrão hoje em dia mais utilizado pra o trafego de informações é no formato JSON (ou pode serXML) que seria o formato mais simples e performático.

Essa forma veio como um substituto ao WebService que tinha uma arquitetura pesada e custosa para o tráfego de informações e a integração é bem simples, pouco importa quem vai conectar e/ou consumir, se é feito em uma linguagem pode ser consumida em outra sem problema, e isso tem um papel fundamental no desenvolvimento de sistemas.

DEMONSTRAÇÃO: ASP.NET Core WEB API com Camada DAL sem utilização de ORM.

Primeiramente vamos construir uma camada DAL para disponibilizar conectividade com banco de dados SQLServer com System.Data.SqlClient.

Class Library DAL

File -> New -> Project

Project

Escolha Class Library(.NetCore)

Class Library(.NET Core)

O nome escolhido daLibraryficou Site.Dal e ao término de criação do projeto é codificado as Interfacese as Class.

Tabela

O nome da tabela é Brand e possui dois campos:

  • Id (inteiro e auto-incremento)
  • Description(texto de 50 posições).
Tabela Brand

Código

  • Interfaces: possui trêsInterface a IConnection, IDal<T> e IDalBrand.
IConnection
IDal<T>
IDalBrand
  • Classes e Modelo: possui 2 implementação das respectivas Interfaces a: Connection, DalBrand e seu modelo Brand.
Brand
Connection
DalBrand

Esse código vai disponibilizar toda a conectividade com esse banco de dados e um CRUDcom a tabela Brand.

Observação: A criação de mais classes para efetuar operações em outras tabelas a partir desse momento ficou fácil só seguir a mesma lógica de desenvolvimento e codificar o que precisa.

O nosso próximo passo é criar um aplicação ASP NET Core Web API

ASPNET Core Web API

File -> New -> Project

Project

Escolha ASP.NET Core Web Application(.NET CORE)

ASP.NET Core Web Application (.NET Core)

Escolha Web API

Web API

Quando o projeto terminar de ser criado, adicione um novo item o Web API Controller Classdentro da pasta Controller:

Web API Controller Class Template

O nome para esse controller é BrandControllerque após sua criação o template gera um código padrão, que irá sofrer alterações mediante a adição do projeto da Class Library Site.Dalda seguinte forma.

Abra o arquivo project.json e adiciona na chave dependencies Site.Dal:1.0.0-* e espere o projeto aplicar as alterações (restore).

project.json

Logo, poderemos utilizar as Classcriadas e as suas Interfaces alterando a classe BrandController da seguinte maneira:

BrandController

Com a implementação desse Controllerconfigure na aplicação a injeção de dependência para reconhecer e resolver Interfaces e suas Class.

Abra o arquivo Startup.cs no método ConfigureServices(IServiceCollection services) faça as seguintes codificações:

startup.cs

Observação no comentário //Add Class e Interfaces IOC logo abaixo são as configurações das classe interfacesimplementadas na Class Library do projeto Site.Dal. Existe também uma outra configuração no arquivo appsettings.json onde a chave ConnectionStrings recebe a configurações de conexão do banco SQLServer.

appsettings

Com todo esse processo finalizado de programação temos a disposição um interface de comunicação simples e eficaz.

Como podemo testar se todos o métodos estão funcionando satisfatoriamente?

Utilize o PostMan para testar todos os verb (get, post, put e delete):

  • Get lista todos os itens da tabela
Verb get
  • Post inserir registro na tabela
Verb post
  • Put alterar registro existente na tabela
Verb put
  • Delete excluir registro na tabela
Verb delete

Código Fonte Completo Github

Referencias:

Fulvio C Canducci Dias

Written by

Bacharel em Sistemas de Informação, MTAC (Multi-Plataform Technical Audience Contributor-Microsoft) e Developer Web

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade