Boa noite. Muito bom @ViniciusSanchez. Tenho um DataSource ligado a uma DBGrid, se passar o DataSet deste datasource para o RestRequest eu teria o DBGrid populado após retorno?
Tem como baixar um arquivo? No indy eu faço assim: var ResponseStream: TFileStream; ResponseStream := TFileStream.Create(ACaminhoArquivo, fmCreate or fmShareExclusive); HTTP.Get(URL, ResponseStream); // ao fazer o get baixa o arquivo e salva no disco. Tem algum jeito de fazer como RESTRequest4Delphi?
Muito interessante ver como esse projeto evoluiu mantendo a simplicidade e a usabilidade que foram demonstrados aqui. Parabéns pelas bibliotecas, você é fera!
Oi @Vinicius Sanchez ontem tava o dataset serialize mas tive um probleminha e precisei mexer na unit..... Eu tenho 2 campos no bd o "id"e o "nome" o id como ftblob ele faz o encondig em b64 aí fiz um result direito da string mas vou fazer o overload da função pra dar opção de encondig ou não..... abraço amigo
Sim, no exemplo a seguir, carregaremos tudo o que tem dentro de data no dataset: TRequest.New.BaseURL('localhost:8888/users') .Adapters(TDataSetSerializeAdapter.New(dataset, 'data')) .Accept('application/json') .Get;
@@ViniciusSanchez Obrigado por responder. Mas o addbody no Lazarus não tem entrada de nome e valor. Preciso entrar com um parâmetro de nome e valor. O addparam não traz o tipo.
@@ViniciusSanchez existem requisições post, que pode-se vincular um certificado digital extensão .pfx. No postman eh possível configurar em File -> settings -> certificate
boa noite Vinicius, estou iniciando na programação Delphi e estudando seu trabalho na utilização do RESTRequest4Delphi me surgiu uma duvida básica, estou criando um aplicativo para consumir dados da api Tray e nao estou coseguindo realizar a autenticação na mesma, me travei no momento de enviar as chaves de validação a api solicita "POST '{{api_address}}/auth' \ --data-urlencode 'consumer_key={{consumer_key}}' \ --data-urlencode 'consumer_secret={{consumer_secret}}' \ --data-urlencode 'code={{code}}'", como disse pode ser bobagem mas nao consegui carregar essas informaçoes no TREQUEST
Muito top, obrigado pelo conteúdo. Eu tenho uma perguntinha... Usando o RESTRequest4Delphi, é possível visualizar o Código da Request, por exemplo em cUrl ou HTTP ?
@@ViniciusSanchez Não. Nas documentações das API geralmente tem um exemplo de como deve ficar o Código da Request, no Postman tem como ver o Código da Request.
@@ViniciusSanchez Deixa eu explicar. Estou estudando uma API, onde preciso passar no body "data=null" tentei de algumas maneiras, mas só tenho retorno 400 bad request. Por isso estava querendo entender como está sendo montado o request.
Amei . Como que eu envio o result do Get pra dentro de um TListview? Que vc recomenda?
Você pode ler percorrer o json e ir adicionando os valores
@@ViniciusSanchez Vlw!!
Voce tem algum exemplo de como usar o RestRequest4Delphi so que passando pasrametros numa busca??
Sim, te mandei no email que você me mandou
@@ViniciusSanchez muito obrigado, vou dar uma olhada.
Muito bom!! Sohow!!! Mais como acessar os dados em uma array no json com o RestRequest4Delphi?
Só pegar o response.jsonvalue e percorrer o array
Boa noite. Muito bom @ViniciusSanchez. Tenho um DataSource ligado a uma DBGrid, se passar o DataSet deste datasource para o RestRequest eu teria o DBGrid populado após retorno?
Sim
Vini como que eu subo uma imagem do meu celular pra uma API que criamos quepega ela e salva no banco?
Pode enviar o stream da imagem ou converter em base64 o que não é muito recomendável mas funciona
@@ViniciusSanchez eu vi o exemplo que vc pos no codigo mas no meu caso sao 3 campos no endpoint são 3 parametros pra 03 imagens ; segue codigo
// Salva as Fotos em Memória antes de mandar pra API
sPathTemp := TPath.GetTempPath;
mFotoFrente := TMemoryStream.Create;
ImgDoc.Bitmap.SaveToStream(mFotoFrente);
// Salva a foto em arquivo temporário do celular
sFotoFrente := sPathTemp+'\FotoFrente.png';
ImgDoc.Bitmap.SaveToFile(sFotoFrente);
mFotoVerso := TMemoryStream.Create;
ImgDocVerso.Bitmap.SaveToStream(mFotoVerso);
sFotoVerso := sPathTemp+'\FotoVerso.png';
// Salva a foto em arquivo temporário do celular
ImgDoc.Bitmap.SaveToFile(sFotoVerso);
mSelfie := TMemoryStream.Create;
ImgFoto.Bitmap.SaveToStream(mSelfie);
sFotoSelfie := sPathTemp+'\FotoSelfie.png';
// Salva a foto em arquivo temporário do celular
ImgDoc.Bitmap.SaveToFile(sFotoSelfie);
sCPF := EdtCPF.Text;
sNomeCompleto := EdtNomeCompleto.Text;
sRG := EdtRG.Text;
sEmail := EdtEmail.Text;
sCelular := EdtDDD.Text+EdtCelular.Text;
sEndLog := EdtEndLogradouro.Text;
sEndNumero := EdtEndNumero.Text;
sEndComp := EdtEndComplemento.Text;
sEndBairro := EdtEndBairro.Text;
sEndCep := EdtEndCep.Text;
sEndCidade := 'MANAUS';
sEndUF := 'AM';
try
Resp := TRequest.New.BaseURL(URL_BASE + EP_CONSULTA_CPF)
.AddBody('{"cpf_cnpj":'+ '"'+ sCpf+'","nome":'+ '"'+ sNomeCompleto+
'","email":'+ '"'+ sEmail+
'",'"telefone":'+ '"'+ sCelular+
'","endereco_logradouro":'+ '"'+ sEndLog+
'","endereco_numero":'+ '"'+ sEndNumero+
'","endereco_complemento":'+'"'+ sEndComp+
'","endereco_bairro":'+ '"'+ sEndBairro+
'",'"endereco_cep":'+ '"'+ sEndCep+
'",'+
'"endereco_cidade":'+ '"'+ sEndCidade+
'",'+
'"endereco_estado":'+ '"'+ sEndUF+
'",'+
'"rg":'+ '"'+ sRg+
'"}')
.AddFile('foto_rg_frente', mFotoFrente)
.AddFile('foto_rg_verso', mFotoVerso)
.AddFile('foto_rg_selfie', mSelfie)
.Token('Bearer '+sTokenAPI)
.Accept('application/json')
.Post;
Tem como baixar um arquivo?
No indy eu faço assim:
var ResponseStream: TFileStream;
ResponseStream := TFileStream.Create(ACaminhoArquivo, fmCreate or fmShareExclusive);
HTTP.Get(URL, ResponseStream); // ao fazer o get baixa o arquivo e salva no disco.
Tem algum jeito de fazer como RESTRequest4Delphi?
sim tem como sim
@@ViniciusSanchez como?
Muito interessante ver como esse projeto evoluiu mantendo a simplicidade e a usabilidade que foram demonstrados aqui. Parabéns pelas bibliotecas, você é fera!
Vlw
Rapaz, vc é top demais!!! Parabéns!
Kkkkkkk, já assistiu? Acordou cedo em Kkkkkkk
Oi @Vinicius Sanchez ontem tava o dataset serialize mas tive um probleminha e precisei mexer na unit..... Eu tenho 2 campos no bd o "id"e o "nome" o id como ftblob ele faz o encondig em b64 aí fiz um result direito da string mas vou fazer o overload da função pra dar opção de encondig ou não..... abraço amigo
Opa, blz... vlw
@Leandro mano tens um exemplo usando campos |BLOB em banco?
Vinicius, é possivel pegar o valor de um Objeto dentro de outro objeto com o framework?
{
"data": {
"barcode": "0000"
}
}
Sim, no exemplo a seguir, carregaremos tudo o que tem dentro de data no dataset:
TRequest.New.BaseURL('localhost:8888/users')
.Adapters(TDataSetSerializeAdapter.New(dataset, 'data'))
.Accept('application/json')
.Get;
Onde consigo baixar o projeto para estudos ?
github.com/viniciussanchez/intensive-delphi
Amigo como faço para extrair um json dentro de outro json? Exemplo {
"status": "OK",
"lancamentos": [
{
"cod_lcto": 2068,
"cod_cong": 6}]}
LLancamentos := LExemplo.GetValue('lancamentos');
@@ViniciusSanchez Como faço isso com o RESTRequest4Delphi?
Muito bom Vinícius. Você poderia me dizer como adicionar um parâmetro do tipo pkRequestBody, usando o componente no Lazarus??? Grato.
Só dar um .AddBody()
@@ViniciusSanchez Obrigado por responder. Mas o addbody no Lazarus não tem entrada de nome e valor. Preciso entrar com um parâmetro de nome e valor. O addparam não traz o tipo.
Para utilizar o certificado digital, com URL, é possível fazer com o RESTRequest4Delphi?
O RESTRequest4Delphi é apenas para realizar requisição... não sei se entendi bem a sua pergunta
@@ViniciusSanchez existem requisições post, que pode-se vincular um certificado digital extensão .pfx. No postman eh possível configurar em File -> settings -> certificate
@@construindocoisas826 entendi... cara não sei te falar não em...
boa noite Vinicius, estou iniciando na programação Delphi e estudando seu trabalho na utilização do RESTRequest4Delphi me surgiu uma duvida básica, estou criando um aplicativo para consumir dados da api Tray e nao estou coseguindo realizar a autenticação na mesma, me travei no momento de enviar as chaves de validação a api solicita "POST '{{api_address}}/auth' \
--data-urlencode 'consumer_key={{consumer_key}}' \
--data-urlencode 'consumer_secret={{consumer_secret}}' \
--data-urlencode 'code={{code}}'", como disse pode ser bobagem mas nao consegui carregar essas informaçoes no TREQUEST
Essa requisição está usando form data, meio diferente a forma de fazer... entra no nosso grupo da hashload no telegram que fica mais fácil ajudar
@@ViniciusSanchez obrigado pelo retorno entrarei no grupo sim
Boa noite Vinícios , o grupo no Telegram ainda existe ?
Parabéns!!
Obrigado
Esse evento foi sensacional. Palestra excelente, parabéns.
Vlw
Excelente didática, como posso entrar em contato com vc, estou precisando de uma oportunidade.
viniciuss.sanchez@gmail.com
Vc já pensou em criar algum recurso utilizando o ArrayDML para acelerar o processo de inclusão de registros?
Legal a ideia
Show Vinicius, eu tentei uma particularidade aqui e nao encontrei como verificar se um item de um objeto eh um array. Saberia me dizer?
Tem como usar o inheritedfrom
Algo assim... não sei se escrevi corretamente kkkkkkk
Ivanilson Ribeiro
há 2 meses
@Vinicius Sanchez
Não entendi
Top
😉
Vou começar a usar este componente, tem algum lugar pra tirar dúvidas? Estou tendo problemas com autenticado x-auth-token
Entre no nosso grupo no telegram... hashload
Muito top, obrigado pelo conteúdo.
Eu tenho uma perguntinha...
Usando o RESTRequest4Delphi, é possível visualizar o Código da Request, por exemplo em cUrl ou HTTP ?
O status code você fala?
@@ViniciusSanchez Não. Nas documentações das API geralmente tem um exemplo de como deve ficar o Código da Request, no Postman tem como ver o Código da Request.
@@ViniciusSanchez Deixa eu explicar. Estou estudando uma API, onde preciso passar no body "data=null" tentei de algumas maneiras, mas só tenho retorno 400 bad request. Por isso estava querendo entender como está sendo montado o request.
Como você está montando? Entra no grupo no telegram da hashload pra gente trocar ajudar melhor
@@ViniciusSanchez Perfeito. Muito obrigado. Seu trabalho é muito top, parabéns novamente.
excellent!
😉