Consumindo API REST no FMX com RESTRequest4Delphi

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2025

ความคิดเห็น • 70

  • @IvanilsonRibeiroConsultor
    @IvanilsonRibeiroConsultor 2 ปีที่แล้ว +1

    Amei . Como que eu envio o result do Get pra dentro de um TListview? Que vc recomenda?

  • @fernandocortezgomes
    @fernandocortezgomes 2 ปีที่แล้ว +1

    Voce tem algum exemplo de como usar o RestRequest4Delphi so que passando pasrametros numa busca??

    • @ViniciusSanchez
      @ViniciusSanchez  2 ปีที่แล้ว +1

      Sim, te mandei no email que você me mandou

    • @fernandocortezgomes
      @fernandocortezgomes 2 ปีที่แล้ว +1

      @@ViniciusSanchez muito obrigado, vou dar uma olhada.

  • @mtechsistemas
    @mtechsistemas ปีที่แล้ว +1

    Muito bom!! Sohow!!! Mais como acessar os dados em uma array no json com o RestRequest4Delphi?

    • @ViniciusSanchez
      @ViniciusSanchez  ปีที่แล้ว

      Só pegar o response.jsonvalue e percorrer o array

  • @jorgesampaio5632
    @jorgesampaio5632 ปีที่แล้ว +1

    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?

  • @IvanilsonRibeiroConsultor
    @IvanilsonRibeiroConsultor 2 ปีที่แล้ว +1

    Vini como que eu subo uma imagem do meu celular pra uma API que criamos quepega ela e salva no banco?

    • @ViniciusSanchez
      @ViniciusSanchez  2 ปีที่แล้ว

      Pode enviar o stream da imagem ou converter em base64 o que não é muito recomendável mas funciona

    • @IvanilsonRibeiroConsultor
      @IvanilsonRibeiroConsultor 2 ปีที่แล้ว

      @@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;

  • @jacksonlima9260
    @jacksonlima9260 2 ปีที่แล้ว +1

    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?

  • @guilhermealecrim1135
    @guilhermealecrim1135 ปีที่แล้ว +2

    Muito interessante ver como esse projeto evoluiu mantendo a simplicidade e a usabilidade que foram demonstrados aqui. Parabéns pelas bibliotecas, você é fera!

  • @claudior.estezi54
    @claudior.estezi54 2 ปีที่แล้ว +1

    Rapaz, vc é top demais!!! Parabéns!

    • @ViniciusSanchez
      @ViniciusSanchez  2 ปีที่แล้ว

      Kkkkkkk, já assistiu? Acordou cedo em Kkkkkkk

  • @leandro2570
    @leandro2570 3 ปีที่แล้ว +1

    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

  • @laurorodrigues19
    @laurorodrigues19 ปีที่แล้ว +1

    Vinicius, é possivel pegar o valor de um Objeto dentro de outro objeto com o framework?
    {
    "data": {
    "barcode": "0000"
    }
    }

    • @ViniciusSanchez
      @ViniciusSanchez  9 หลายเดือนก่อน

      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;

  • @GutembergSCosta
    @GutembergSCosta 3 ปีที่แล้ว +1

    Onde consigo baixar o projeto para estudos ?

    • @ViniciusSanchez
      @ViniciusSanchez  3 ปีที่แล้ว

      github.com/viniciussanchez/intensive-delphi

  • @cicyalmeida2837
    @cicyalmeida2837 ปีที่แล้ว

    Amigo como faço para extrair um json dentro de outro json? Exemplo {
    "status": "OK",
    "lancamentos": [
    {
    "cod_lcto": 2068,
    "cod_cong": 6}]}

    • @ViniciusSanchez
      @ViniciusSanchez  ปีที่แล้ว

      LLancamentos := LExemplo.GetValue('lancamentos');

    • @lcralmeidaslz
      @lcralmeidaslz ปีที่แล้ว

      @@ViniciusSanchez Como faço isso com o RESTRequest4Delphi?

  • @irozesilva828
    @irozesilva828 3 ปีที่แล้ว +1

    Muito bom Vinícius. Você poderia me dizer como adicionar um parâmetro do tipo pkRequestBody, usando o componente no Lazarus??? Grato.

    • @ViniciusSanchez
      @ViniciusSanchez  3 ปีที่แล้ว

      Só dar um .AddBody()

    • @irozesilva828
      @irozesilva828 3 ปีที่แล้ว

      @@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.

  • @construindocoisas826
    @construindocoisas826 3 ปีที่แล้ว +1

    Para utilizar o certificado digital, com URL, é possível fazer com o RESTRequest4Delphi?

    • @ViniciusSanchez
      @ViniciusSanchez  3 ปีที่แล้ว

      O RESTRequest4Delphi é apenas para realizar requisição... não sei se entendi bem a sua pergunta

    • @construindocoisas826
      @construindocoisas826 3 ปีที่แล้ว

      @@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

    • @ViniciusSanchez
      @ViniciusSanchez  3 ปีที่แล้ว

      @@construindocoisas826 entendi... cara não sei te falar não em...

  • @JaimeBrandao53
    @JaimeBrandao53 2 ปีที่แล้ว

    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

    • @ViniciusSanchez
      @ViniciusSanchez  2 ปีที่แล้ว +1

      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

    • @JaimeBrandao53
      @JaimeBrandao53 2 ปีที่แล้ว +1

      @@ViniciusSanchez obrigado pelo retorno entrarei no grupo sim

    • @marieloliveira9219
      @marieloliveira9219 2 ปีที่แล้ว

      Boa noite Vinícios , o grupo no Telegram ainda existe ?

  • @carlosfjr9598
    @carlosfjr9598 3 ปีที่แล้ว +1

    Parabéns!!

  • @CesarSolusys
    @CesarSolusys 4 ปีที่แล้ว +3

    Esse evento foi sensacional. Palestra excelente, parabéns.

  • @maurowyglon9263
    @maurowyglon9263 ปีที่แล้ว

    Excelente didática, como posso entrar em contato com vc, estou precisando de uma oportunidade.

  • @GleikoCarmelo
    @GleikoCarmelo 2 ปีที่แล้ว +1

    Vc já pensou em criar algum recurso utilizando o ArrayDML para acelerar o processo de inclusão de registros?

  • @josesoaressoares6584
    @josesoaressoares6584 3 ปีที่แล้ว +1

    Show Vinicius, eu tentei uma particularidade aqui e nao encontrei como verificar se um item de um objeto eh um array. Saberia me dizer?

    • @ViniciusSanchez
      @ViniciusSanchez  3 ปีที่แล้ว

      Tem como usar o inheritedfrom

    • @ViniciusSanchez
      @ViniciusSanchez  3 ปีที่แล้ว

      Algo assim... não sei se escrevi corretamente kkkkkkk

  • @IvanilsonRibeiroConsultor
    @IvanilsonRibeiroConsultor 2 ปีที่แล้ว +1

    Ivanilson Ribeiro
    há 2 meses
    @Vinicius Sanchez

  • @ricardorochadev
    @ricardorochadev 4 ปีที่แล้ว +1

    Top

  • @dashxzor
    @dashxzor 4 ปีที่แล้ว +1

    Vou começar a usar este componente, tem algum lugar pra tirar dúvidas? Estou tendo problemas com autenticado x-auth-token

    • @ViniciusSanchez
      @ViniciusSanchez  4 ปีที่แล้ว

      Entre no nosso grupo no telegram... hashload

  • @renanjrsilva
    @renanjrsilva 2 ปีที่แล้ว +1

    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
      @ViniciusSanchez  2 ปีที่แล้ว

      O status code você fala?

    • @renanjrsilva
      @renanjrsilva 2 ปีที่แล้ว

      @@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.

    • @renanjrsilva
      @renanjrsilva 2 ปีที่แล้ว

      @@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.

    • @ViniciusSanchez
      @ViniciusSanchez  2 ปีที่แล้ว +1

      Como você está montando? Entra no grupo no telegram da hashload pra gente trocar ajudar melhor

    • @renanjrsilva
      @renanjrsilva 2 ปีที่แล้ว +1

      @@ViniciusSanchez Perfeito. Muito obrigado. Seu trabalho é muito top, parabéns novamente.

  • @Edddgdxhwfdghhghg
    @Edddgdxhwfdghhghg 4 ปีที่แล้ว +1

    excellent!