You are on page 1of 2

Exemplo: Web service RESTful com CRUD, filtros e ordenao

usando ASP.NET Web API


Neste exemplo veremos como desenvolver um web service RESTful utilizando ASP.NET Web API e Entity Framework. Esse servio conta
com funes de CRUD, paginao, filtros diversos, ordenao e seleo de campos.

Download Ver projeto


Marcar como favorito 33 16 0 Anotar Tire suas dvidas

1 - Web service RESTful com CRUD utilizando ASP.NET Web API

Contedo de apoio

Neste exemplo desenvolveremos um web service para cadastro de vagas de emprego. Para isso utilizaremos as seguintes tecnologias:

ASP.NET Web API: framework para criao de web services RESTful no .NET Framework;
Entity Framework: framework de Mapeamento Objeto-Relacional que ser usado para acessar o banco de dados SQL Server;
Fluent API: conjunto de classes do Entity Framework por meio das quais possvel configurar o Mapeamento Objeto-Relacional sem usar Data
Annotations, mantendo essa tarefa isolada em uma classe;
FluentValidation: biblioteca gratuita e de cdigo aberto para realizao de validaes em classes usando Lambda Expressions. Neste exemplo
essa biblioteca ser utilizada para substituir as Data Annotations e superar limitaes destas;
OData: protocolo para criao de web services com listagem, paginao, filtro, ordenao e seleo de campos a partir da URL.

Verbos e cdigos do HTTP

Nesse web service empregaremos os verbos do protocolo HTTP da forma como eles tm sido mais adotados no mercado para a construo
desse tipo de soluo. A Figura 1 ilustra a funo para a qual cada verbo HTTP ser utilizado no nosso servio.

Figura 1. Relao entre os verbos HTTP e as aes do web service

Alm disso utilizaremos tambm os cdigos de status previstos pelo protocolo HTTP para indicar o resultado das requisies, da seguinte
forma:

Requisies bem sucedidas:

200 OK: para requisies do tipo GET bem sucedidas, em que um ou mais registros so listados;
201 Created: para requisies POST bem sucedidas, quando um novo registro cadastrado;
204 No Content: para requisies PUT e DELETE bem sucedidas, quando a operao foi realizada com sucesso mas no precisamos retornar
nenhum dado adicional para o cliente.

Requisies com problema:

400 Bad Request: para requisies com parmetros invlidos. Por exemplo, quando o cliente tentar cadastrar um registro que no seja
aprovado na validao;
401 Unauthorized: para requisies POST, PUT e DELETE
404 Not Found: para requisies GET, PUT e DELETE em que o registro solicitado no for localizado no banco de dados (filtrando pelo id);

Alm desses cdigos, que sero gerenciados por ns, o prprio framework j retorna o cdigo 500 Internal Server Error em caso de erros
no tratados.

Sugesto de contedo:

Para aprender mais sobre o desenvolvimento de web services RESTful com o ASP.NET Web API confira o curso abaixo:

Curso: ASP.NET Web API: Criando um Web service com paginao

Prximo vdeo

You might also like