Série da semana: Angular, API RESTful e Banco de Dados

Veja mais
O projeto está inativo

ASP.NET Web API: Filtros e Ordenação em Web Services RESTful

Utilizando o ASP.NET Web API e Entity Framework veremos como desenvolver um web service RESTful. Esse serviço conta com funções de CRUD, paginação, filtros diversos, ordenação e seleção de campos.

64

Web service RESTful com CRUD utilizando ASP.NET Web API

Conteúdo 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 criação 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 é possível configurar o Mapeamento Objeto-Relacional sem usar Data Annotations, mantendo essa tarefa isolada em uma classe;
  • FluentValidation: biblioteca gratuita e de código aberto para realização de validações em classes usando Lambda Expressions. Neste exemplo essa biblioteca será utilizada para substituir as Data Annotations e superar limitações destas;
  • OData: protocolo para criação de web services com listagem, paginação, filtro, ordenação e seleção de campos a partir da URL.

Verbos e códigos do HTTP

Nesse web service empregaremos os verbos do protocolo HTTP da forma como eles têm sido mais adotados no mercado para a construção desse tipo de solução. A Figura 1 ilustra a função para a qual cada verbo HTTP será utilizado no nosso serviço.

Relação entre os verbos HTTP e as ações do web service
Figura 1. Relação entre os verbos HTTP e as ações do web service

Além disso utilizaremos também os códigos de status previstos pelo protocolo HTTP para indicar o resultado das requisições, da seguinte forma:

Requisições bem sucedidas:

  • 200 OK: para requisições do tipo GET bem sucedidas, em que um ou mais registros são listados;
  • 201 Created: para requisições POST bem sucedidas, quando um novo registro é cadastrado;
  • 204 No Content: para requisições PUT e DELETE bem sucedidas, quando a operação foi realizada com sucesso mas não precisamos retornar nenhum dado adicional para o cliente.

Requisições com problema:

  • 400 Bad Request: para requisições com parâmetros inválidos. Por exemplo, quando o cliente tentar cadastrar um registro que não seja aprovado na validação;
  • 401 Unauthorized: para requisições POST, PUT e DELETE
  • 404 Not Found: para requisições GET, PUT e DELETE em que o registro solicitado não for localizado no banco de dados (filtrando pelo id);

Além desses códigos, que serão gerenciados por nós, o próprio framework já retorna o código 500 Internal Server Error em caso de erros não tratados.


Sugestão de conteúdo:

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

Suporte ao aluno - Deixe a sua dúvida.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrado através do seu cartão de crédito. *Tempo minimo de assinatura: 12 meses.
Assinatura Devmedia
Faça parte dessa comunidade 100% focada em programação e tenha acesso ilimitado. Nosso compromisso é tornar a sua experiência de estudo cada vez mais dinâmica e eficiente. Portanto, se você quer programar de verdade seu lugar é aqui. Junte-se a mais de...
+ 800 Mil programadores
Conheça agora!
,90* / mês
  • Séries
  • Projetos completos
  • Cursos
  • Guias de carreiras
  • DevCasts
  • Desafios
  • Artigos
  • App
  • Suporte em tempo real
A assinatura é cobrada através do seu cartão de crédito. *Tempo mínimo de assinatura: 12 meses.