Post: Aplicando método Put no servidor REST

Alessandro Medeiros

Fala ai Radizeiros e Radizeiras, tudo bem com vocês?

Mais um post e sobre servidores três camadas RestFull.

Em meu primeiro post sobre RestFull falei sobre servidor de aplicação, caso não tenha visto acesso aqui

Falei também sobre o método Get, um dos verbos do HTTP, caso não tenha visto acesso aqui.

E como não pode faltar, estarei neste post falando sobre o verbo Put, esse é o nosso CRUD dos servidores RestFull.

Se você não tem conhecimento sobre como fazer um CRUD nos servidores de aplicação RestFull, acesse aqui, onde em um dos meus treinamos ensino como criar usando as boas praticas de programação, podendo facilitar muito as manutenções e implementações futuras.

Neste post estarei falando de como implementar o verbo HTTP Put no nosso servidor de aplicação.

Estamos aprendendo sobre os verbos, em um post anterior você aprendeu o que o verbo Get faz dentro da arquitetura RESTFull, onde ele faz as busca, trazer uma lista de dados.

Agora iremos ver o Put, ele server para inserir os dados dentro do nosso banco.

Como eu posso fazer isso?

Primeira coisa que precisamos fazer é:

Em nossa entidade de produtos, iremos implementar as boas praticas de programação, usando a arquitetura MVC, nenhum outro lugar você aprende criar um servidor de aplicação usando o MVC.

Nós vamos criar dentro de nossa classe de entidade de produto um método chamado Put.


...

function TModelEntidadeProduto.Put (const Key : String; JObject : TJSONObject) : TModelEntidadeProduto;
begin
    Result := Self;
    FDQuery.Close;
    FDQuery.SQL.Clear;
    FDQuery.SQL.Add('SELECT * FROM PRODUTO WHERE 1=2');
    FDQuery.Open;
    FDQuery.FromJSONObject(JObject);
    FDQuery.ApplayUpdates(-1);
end;

...

Veja que o retorno desse nosso método é a própria classe que o implementa, pois como vamos realizar uma inclusão dos dados não precisamos de um retorno propriamente dito.

Na sua implementação usamos uma artimanha simples para que não venhamos ter que ficar colocando INSERT, UPDATE, escrevendo manualmente as opões.

Nós executamos um comando SQL só para que ele abra o DataSet para nós, trazendo os campos.

Onde chamo o comando FDQuery.FromJSONObject eu estou transformando o meu Objeto JSON que esta entrando no método e irá trazer para dentro de um DataSet.

Com este simples código nós já temos um INSERT pronto, nós recebemos um objeto JSON e transformamos isso para dentro do banco de dados.

Agora quando os métodos tiverem acesso a nossa classe TModelEntidadeFactory irá ter acesso ao método Put que acabamos de criar.

Agora vamos em nossa camada de visão da entidades de produtos, que é onde o mundo externo irá se comunica com nosso servidor de aplicação, para melhor compreensão veja os outros post sobre o RESTFull que encontra-se aqui no blog.

Para o DataSnap identificar que o que está chegando é um Put, ele já faz isso automaticamente, mas devemos seguir as nomenclaturas corretas deles.

Para que ele identifique temos que criar um método em nossa entidade de produto.


...

procedure TProduto.acceptProduto(const Key : String; JObject : TJSONObject);
begin
    FController.Entidade.Produto.Put(Key,JObject);
end;

...

Criando esse método o próprio DataSnap já identifica que o verbo que está chegando é um Put.

Viu como é simples?

Desta forma já temos uma inserção em nosso servidor de aplicação.

Vamos testar usando o Rest Debugger que acompanha o RAD Studio.

Primeiro demos um Get para que possamos ter as informações, irei copiar somente um objeto desse json para testar o nosso Put.

Alteramos o method para Put, e você pode observar que no final da uri foi colocado o -1 por convenção, porque estou criando um novo ID, um novo registro dentro do nosso banco de dados.

No campo Custom body eu coloquei o objeto Json que copiei do retorno do nosso Get, fiz minhas alterações no próprio objeto JSON que copiei, ao clicar em Send Request minhas alterações foram efetivadas no banco de dados.

Olha em meu banco de dados as alterações feitas.

Viu como de forma fácil e descomplicada já estamos realizando as inserções usando o Put, estamos inserindo registros usando nossa aplicação três camadas.

Só aqui no blog você já detêm do conhecimento de criar um servidor de aplicação, ler registros e inserir dados.

Este post é parte do um dos meus treinamentos, o treinamento de Aplicação 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 E SAIBA MAIS SOBRE O TREINAMENTO RESTFUL COM DATASANP

 

 






Faça sua busca

CATEGORIAS

POSTS RECENTES

E caso você tem interesse de conhecer mais sobre Aplicando método Put no servidor REST, acesse o nosso portal do CLUBE DE PROGRAMADORES EM DELPHI
Você não terá só conteúdos relacionados ao Aplicando método Put no servidor REST, mas uma quantidade enorme de conteúdos que poderá lhe ajudar muito no seu dia a dia, é uma verdadeira NETFLIX para os programadores Delphi.
Gostou?
Compartilhe:

Embarque no foguete com milhares de devs para aprender desenvolvimento, evoluir de forma contínua e se manter relevante no mercado.

Dúvidas
Cadastre-se em nossa lista

Para ter acesso em primeira mão, a tudo que acontece na Academia do Código, basta se cadastrar em nossa lista

Grupo Thulio Bittencourt | Academia do Código

#FaçaPartedaHistória

Copyright © 2024 – Todos os direitos reservados