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 e Aplicando método Put 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 Post, que é o método utilizado para realizar o update de um registro dentro do nosso servidor de aplicação.
Então vamos lá?
Primeira coisa que devemos fazer é o nosso Post dentro do nosso Model, tratar nossa regra de negócio primeiro.
Dentro do nosso Model de Entidade vamos criar nosso verbo POST.
type ... public ... function Post(const Key : String; JObject : TJSONObject) : TModelEntidadeProduto; ... function TModelEntidadeProduto.Post(const Key : String; JObject : TJSONObject) : TModelEntidadeProduto; begin Result := Self; FDQuery1.Close; FDQuery1.SQL.Clear; FDQuery1.SQL.Add('SELECT * FROM PRODUTO WHERE CODIGO = :CODIGO'); FDQuery1.ParamByName('CODIGO').Value := Key; FDQuery1.Open; FDQuery1.RecordFromJSONObject(JObject); FDQuery1.ApplyUpdates(-1); end; ...
Assim como fizemos no Put, pode ser visto em outro post aqui, onde só alteramos a nossa query que estamos passando o valor CODIGO onde será atualizado o registro que estaremos passando seu CODIGO.
Desta forma nosso método POST que irá realizar o update na entidade de produto já está pronto, agora só falta implementar o método na nossa camada de visão do DataSnap do nosso servidor de aplicação.
Em nossa View.Entidade.Produto iremos implementar o método que o DataSnap reconhece como POST que irá fazer isso automaticamente, quando chegar alguém chamando o método UPDATE ele já irá jogar pra dentro desta camada.
type ... public ... procedure updateProduto(const Key : String; JObject : TJSONObject); ... procedure TProduto.updateProduto(const Key : String; JObject : TJSONObject); begin FController.Entidades.Produto.Post(Key, JObject); end; ...
Está ai o método de atualizar os registro no servidor de aplicação de forma fácil e simples.
Estamos nesta saga RestFull com DataSnap onde você está conhecendo os verbos HTTP, existem jeitos de fazer tudo mais RAD, se irmos para o mais RAD não iremos compreender estes funcionamentos.
Quando você compreende como é cada verbo fica muito mais fácil você pegar um servidor de aplicação de qualquer Framework, pode ser DataSnap, RestDataWare e até mesmo no Webbroker, você pode fazer seu servidor de aplicação pois você já conhece esses funcionamentos.
Vamos ver como está o funcionamento?
Com o nosso servidor ativo, iremos abrir o RestDebugger e fazer o teste de atualização.
Veja que no method estamos passando o POST, e na URI estamos passando no fim dela o id do produto que desejamos atualizar, no custom body fazemos as devidas alterações para que possamos atualizar o registro.
Veja que após clicarmos no botão de Send Request do RestDebugger e observarmos no banco de dados na tabela de produto vemos nosso registro atualizado.
Muito legal e muito simples né?
Já vimos como criar um servidor de aplicação usando MVC, criamos o método Get, Put e agora o Post tudo aqui em nossa saga RestFull.
Todo esses conteúdos fazem parte do treinamento RESTFULL 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