Fala ai Radizeiros e Radizeiras, tudo bem com vocês?
Mais um post da nossa saga RestFull com DataSnap.
Aqui no blog falei de MVC no servidor de aplicação, Aplicando método Get no servidor REST, Aplicando método Put no servidor REST e Aplicando Método Post no Servidor REST.
Quantas e quantas vezes você programador Delphi não conseguiu criar um servidor RestFull com DataSnap por ter poucos conteúdos que lhe auxiliem de forma prática.
Neste post estarei mostrando como aplicar o método Delete, que é o método utilizado para realizar o apagar um registro dentro do nosso servidor de aplicação.
Então vamos lá?
O que nós iremos fazer para que possamos implementar o Delete?
Primeiro vamos implementar nosso método de Delete em nosso Model de Entidade Produto, assim como nos demais verbos vamos fazer também com o Delete.
type ... public ... function Delete (const Key : String) : TModelEntidadeProduto; ... function TModelEntidadeProduto.Delete (const Key : String) : TModelEntidadeProduto; begin Result := Self; FDQuery1.Close; FDQuery1.SQL.Clear; FDQuery1.SQL.Add('DELETE FROM PRODUTO WHERE CODIGO = :CODIGO'); FDQuery1.ParamByName('CODIGO').Value := Key; FDQuery1.ExecSQL; end; ...
Simplesmente nós criamos o método Delete com a query que irá apagar o registro passado pelo Key.
Fazendo assim nosso Delete já encontra-se pronto, o que iremos fazer agora é ir na nossa camada de visão do DataSnap da nossa estrutura MVC para chamar o método Delete.
Como vamos fazer isso?
Se você que acompanha nosso blog, se não viu acesse nos links no inicio deste post, o DataSnap possui uma nomenclatura própria que ele identifica qual verbo está sendo acionado.
... function Produto (const Key : String) : TModelEntidadeProduto; function acceptProduto (const Key : String; JObject : TJSONObject) : TModelEntidadeProduto; function updateProduto (const Key : String; JObject : TJSONObject) : TModelEntidadeProduto; ...
Observe que se não passarmos nada ele irá fazer o Get (método Produto), se eu passa um Put o DataSnap irá saber que deve chamar o método accept e se passarmos o método Post ele irá chamar o método update, e se nós passarmos o Delete irá chamar o método cancel.
type ... public ... procedure cancelProduto (const Key : String); ... procedure TProduto.cancelProduto (const Key : String); begin FController.Entidades.Produto.Delete(Key); end; ...
Fui como é simples criarmos um CRUD no nosso servidor de aplicação usando as boas práticas de programação?
Vamos ver este método funcionando?
Com o servidor ativo, vamos abrir o Rest Debugger.
Observe na imagem acima que ao habilitarmos o Delete o Custom body fica desabilitado, porque no Delete nós não precisamos passar nada no corpo da mensagem deve ser passado na própria URI, se passarmos essa URI que está na imagem ele irá apagar o registro com o código 1000.
Após a execução do Rest Debugger vamos ao banco de dados e observe.
Antes da execução.
Depois de execução.
Pronto já não temos mais o registro 1000.
Viu como é muito legal, muito fácil e muito simples de aplicarmos o Delete.
Agora que já temos o nosso CRUD pronto, você já sabe o que é cada um dos verbos, para que que serve e como eles funcionam.
Nesta nossa saga RestFull você já pode praticamente já criar a sua aplicação 3 camadas de forma prática e simples.
Este post é parte integrante do nosso treinamento de RestFul com DataSnap.
O QUE VOCÊ IRÁ APRENDER?
O treinamento de Datasnap Restful dará a você a oportunidade de melhorar seu desenvolvimento, otimizar o seu tempo e te dar a possibilidade de atender melhor os seus clientes.
Desenvolver um servidor de aplicação RestFul com Datasnap e utilizar todos os seus benefícios irá facilitar muito a sua vida, quando seu cliente disser “preciso dos meus dados na web hoje mesmo” você estará preparado para entregar uma solução robusta e eficaz.
Nesse treinamento você irá aprender de forma prática a criar as principais rotinas de CRUD e Segurança para servidores RestFul Datasnap que podem ser consumidos de qualquer aplicação front-end.
CLIQUE AQUI PARA SABER MAIS SOBRE O TREINAMENTO RESTFULL COM DATASNAP