Professional Documents
Culture Documents
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.
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.
Alm disso utilizaremos tambm os cdigos de status previstos pelo protocolo HTTP para indicar o resultado das requisies, da seguinte
forma:
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.
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:
Prximo vdeo