MVCBr – Implementando protocolo OData sobre RESTful

By | março 3, 2017
Share Button

O que é OData?

É uma especificação para consumir recursos de banco de dados em servidores que implementam RESTful. A solicitação de operação no banco de dados é enviada para o servidor em uma URL e retorna o resultado da consulta do banco de dados.

Através dos métodos de comunicação com o servidor RESTful é estabelecido o tipo de operação a ser executado:

  • GET – Solicita que retorne um conjunto de dados do banco de dados;
  • POST – Envia um INSERT para o banco de dados;
  • PUT – Envia um UDPATE  para o banco de dados – no OData é necessário enviar todas as colunas;
  • PATCH – Envia um UPDATE  parcial – não precisa mandar todas as colunas;
  • DELETE – apaga um registro no banco de dados;

Exemplo de GET:

  1. http://servidor:8080/OData/OData.svc/produtos(1) – Executa uma busca nos registro de produtos e retornar o produto 1;
  2. http://servidor:8080/OData/OData.svc/produtos(1)/clientes – retorna os clientes que compraram o produto;
  3. http://servidor:8080/OData/OData.svc/produtos(1)/clientes(estado=’SP’) – retorna os clientes que compraram o produto 1 e que estão no estado SP;
  4. http://servidor:8080/OData/OData.svc/produtos?$top=10 – retorna os 10 primeiro itens da tabela/coleção produtos;
  5. http://servidor:8080/OData/OData.svc/produtos?$top=10&$skip=20 – salta os 20 primeiros registros e retornar se próximos 10 produtos;
  6. http://servidor:8080/OData/OData.svc/produtos?$select=codigo,nome,unidade – retorna as colunas codigo,nome,undiade;
  7. http://servidor:8080/OData/OData.svc/produtos?$filter=unidade eq ‘KG’ -> retorna os produto que a unidade seja igual a KG;

Notações de filtro:

  • eq – equal        =
  • lt – less than   <
  • le – less equal   <=
  • ne – not equal   <>
  • gt  – great than  >
  • ge  – great equal >=

 

Ver especificação em:   OData.org

3 thoughts on “MVCBr – Implementando protocolo OData sobre RESTful

  1. Marivaldo SANTOS

    Olá.. Obrigado pela iniciativa;

    É possível você disponibilizar um Demo Simples usando o protocolo OData?

    Estou no aguardo!

    1. Amarildo Lacerda Post author

      No proximo Hangout vou demonstrar um RESTCLient e um DatasetAdapter que faz acesso ao banco de dados…. Até aqui estavamos trabalhando no servidor, agora estamos nos concentrando no lado CLIENTE… com isto vai ficar mais fácil entender.
      Gratidão.

Comments are closed.