Como criar uma API Rest com Delphi e Horse

Поділитися
Вставка
  • Опубліковано 19 жов 2024

КОМЕНТАРІ • 99

  • @LindomarSampaio_des
    @LindomarSampaio_des 2 роки тому +12

    Praticamente 1 ano depois , que esse video foi postado, estou assistindo. Para quem que, assim como eu, pensava que esse negócio de camadas não é necessário, está enganado. Me arrependo amargamente de não ter iniciado há mais tempo, Invista um pouco do seu tempo para aprender e não se arrependerá. Parabéns Heber pelo video, pela didádica.

    • @99coders
      @99coders  2 роки тому +1

      🤜🤛

    • @RogerDourado
      @RogerDourado 10 місяців тому +1

      Faço de suas as minhas palavras, agora 1 ano depois ;/

    • @IvanilsonRibeiroConsultor
      @IvanilsonRibeiroConsultor 9 місяців тому

      @@RogerDourado Sim sistema de qualidade com segurança e velocidade precisa disso. isso ai mano!

  • @RafaelAugusto-p4d
    @RafaelAugusto-p4d Рік тому +2

    Mano, voce é incrivel. Obrigado Pela aula, estou começando com o Delphi, consegui meu primeiro trabalho como programador em delphi e estou com dificuldade por conta da falta de material top em portugues, seu canal é otimo amigo. Estou maratonando e aprendendo mt

  • @dedisupardi2815
    @dedisupardi2815 3 роки тому +6

    excellent, thank you so much for this Great Material! You are the best !

  • @robertokrug5883
    @robertokrug5883 3 роки тому +2

    Parabéns.... pelo vídeos... já olhei vários... estou partindo para um APP de Pedidos...

  • @jorgee.bogado5003
    @jorgee.bogado5003 Рік тому +1

    espectacular tus videos, felicitaciones/parabens , un saludo desde Py

  • @GefersonDietze
    @GefersonDietze Рік тому +3

    Vídeo incrível, fez tudo ficar simples e claro. Parabéns.

  • @marcelodel-reidafonsecasou5333
    @marcelodel-reidafonsecasou5333 3 роки тому +2

    Parabéns, não há outro igual, sua maneira simples e sincera de expressar, mostrar e entregar ferramentas de muita qualidade. Excelente profissional. O que aprendi, continuo aprendendo nas suas aulas. Que DEUS ilumine sempre tua pessoa.

  • @adimiltonantonio
    @adimiltonantonio 3 роки тому +1

    como o Rafael falou.. "de forma simples e descomplicada". parabéns pelo trabalho. valeu

  • @JulianoMv
    @JulianoMv Рік тому +1

    Fantástico suas aula e seu trabalho.... Obrigado.
    Caso tenha interesse, eu fiz um "Servidor Linux" utilizando API Rest (HORSE) do Delphi, ficou bem bacana, e vi que muitos perguntaram sobre isso, me coloco a disposição, caso queira q eu demonstre. Grato mais uma vez. (LIKE mais do q dado).

  • @jordelinovianadossantos472
    @jordelinovianadossantos472 3 роки тому +1

    Atualmente estou usando RDW mas meu próximo projeto vai ser em Horse com certeza. Parabéns Heber.

  • @arturalencar6609
    @arturalencar6609 3 роки тому +2

    Muito boa a aula!!! Estou pensando em migrar o meu sistema de um delphi mais antigo para o mais novo e já deixar ele comunicando com o servidor dentro da mesma rede mesmo com o horse do jeito que foi exemplificado no vídeo. Acho que vai dar bom! Do jeito que estou pensando fazer, vai dar tanto para servidor dentro da mesma rede quanto na nuvem. Já vou preparar para as duas formas.

  • @adsonsiqueira
    @adsonsiqueira 2 роки тому +1

    Parabéns pelo vídeo. Excelente !!!!!

  • @ReneMelo
    @ReneMelo 3 роки тому +1

    Muito bom. Estou estuando colocar algum serviço no ar com Horse.

  • @williamalves55
    @williamalves55 Рік тому +1

    Heber como sempre muito claro e didático. Parabéns, conteúdo de primeira. Uma dúvida: esta estrutura independe de banco de dados, muda muito se for PostgreSQL?

  • @dpbebidas985
    @dpbebidas985 Рік тому +1

    Show de bola, ajudou muito

  • @programacao4all
    @programacao4all 3 роки тому +2

    Como sempre, Héber entregando conteúdo de qualidade e com uma metodologia que realmente funciona. Parabéns. Sempre segui seu trabalho e definitivamente sempre seguirei pois é um dos melhores conteúdos do UA-cam. Aprendo sempre muito. Além de delphi, agora também o mundo web, de forma simples e descomplicada.

  • @jonatassfredo1663
    @jonatassfredo1663 Рік тому +1

    Brabo demais!, valeu Heber!

  • @augustoalcantara6301
    @augustoalcantara6301 3 роки тому +1

    Cara vc é top!! nem sempre eu acompanho os "ao vivos" mas sempre que posso eu corro aqui no youtube e vejo!! parabéns Heber!!!

  • @ivaniomk1828
    @ivaniomk1828 Місяць тому

    Boa noite. Parabéns pelo vídeo. Uma duvida, estou fazendo um server vcl, e gostaria de exibir os logs em um tmemo, é possivel? Tem algum vídeo sobre isso?

  • @renancruz9645
    @renancruz9645 3 роки тому +1

    Sua didática é muito boa, excelente vídeo

  • @claudior.estezi54
    @claudior.estezi54 2 роки тому +1

    Muito bom seu vídeo, simples e fácil de entender!

  • @hugomuckenfuhs1065
    @hugomuckenfuhs1065 2 роки тому +1

    Boa tarde Heber, parabéns pela clareza em que transmites o teu conhecimento. No final do vídeo, onde apresentas um modelo de estrutura na AWS, aparecem varias instâncias EC2 acessando um único banco de dados, se entendi corretamente. De que forma Isso funcionaria com o Firebird, já que não tem RDS disponível para ele. Grato pela tua atenção.

    • @99coders
      @99coders  2 роки тому

      Você teria que levantar uma máquina (EC2) e colocar o Firebird nela. Dessa forma, todas as outras máquinas acessa esse servidor.
      Sobre alta disponibilidade (redundância de vários bancos), acho que o Firebird não possui esse recurso nativo de replicação de dados.

  • @henriquepassos7279
    @henriquepassos7279 3 роки тому +1

    Eu agradeço por expor seu conhecimento, ficou sensacional, simples e direto!

  • @programacao_criativa
    @programacao_criativa 2 роки тому +1

    Olá amigo, ótimo material. Eu gostaria de saber como proceder no caso de campos do tipo blob (binário), onde gravo fotos. Sria algo do tipo encode e decode? Estou usando o firebird 3

  • @joabeanderson
    @joabeanderson 3 роки тому +1

    Gostei de mais da aula, parabéns. Teria como fazer um live ou um vídeo de como fazer o upload de arquivo com horse recebendo o arquivo no backend ?

  • @svisentini2
    @svisentini2 3 роки тому +1

    Excelente materia.. muito obrigado e parabens

  • @danielrossi
    @danielrossi 3 роки тому +1

    Excelente... prático e direto ao ponto.

  • @Alexandrestorti
    @Alexandrestorti 3 роки тому +1

    Explicação incrivelmente completa e compreensível.

  • @nenelns
    @nenelns 2 роки тому +1

    Cara, você é sensacional. Obrigado por tudo!

  • @franciscoborges1972
    @franciscoborges1972 3 роки тому +2

    Aula top demais, estou aprendendo coisas que eu nem imaginava. Parabéns pelo trabalho

  • @rogeriosca
    @rogeriosca 3 роки тому +1

    Aula top , direto ao ponto , ótimo conteúdo ! Obrigado !

  • @farcosta
    @farcosta 2 роки тому +1

    Ótima aula! Parabéns!!!
    No Lazarus não tem como usar o TJSONObject.ParseJSONValue?

    • @99coders
      @99coders  2 роки тому +1

      Não saberia dizer... ainda não me aventurei no Lazarus

    • @farcosta
      @farcosta 2 роки тому

      ​@@99coders Consegui resolver...
      No Lazarus, ao invés de usar: body := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(req.Body), 0) as TJsonValue;
      Declare a variável body como TJSONData e use: body := GetJSON(req.Body);
      E para ler os pairs, faça assim: cli.nome := body.FindPath('nome').AsString;

  • @ricardogasqui6853
    @ricardogasqui6853 2 роки тому

    show de aula!

  • @atilalvarenga
    @atilalvarenga 2 роки тому +1

    Consegue me ajudar com essa questão do pool de conexões Heber?? Requisições simultâneas não funcionam nem a pau

  • @gilmarsantossilva4332
    @gilmarsantossilva4332 3 роки тому +1

    Obrigado.

  • @hanitaieb5304
    @hanitaieb5304 Рік тому +1

    👍👍

  • @felipelavor73
    @felipelavor73 2 роки тому +1

    Heber, é possível usar o ACBR via Horse ? Ou acha melhor com o RDW, já que ele tem uma interface mais "amigável" ?

    • @99coders
      @99coders  2 роки тому

      Tenho pouca experiência (praticamente zero) com o ACBR.

  • @tiagorobson9442
    @tiagorobson9442 2 роки тому +2

    Fica dando erro de conexão com o banco, sendo que está igual ao que o sr disponibilizou

  • @lojalearnsoftwares
    @lojalearnsoftwares 7 місяців тому

    E se eu preferir usar o componente Firedac connection do Delphi, como configurar?

  • @koba1-671
    @koba1-671 2 роки тому +1

    Tem algum video que ensina a fazer algum front end pra consumir as apis ?

    • @99coders
      @99coders  2 роки тому

      Estamos iniciando um novo app no canal... vamos criar a api e consumir ela depois. É ao vivo toda segunda-feira às 20h

    • @koba1-671
      @koba1-671 2 роки тому

      @@99coders eu percebi e já estou acompanhando. Muito bom! valeu

  • @eduardoaraujobr2003
    @eduardoaraujobr2003 3 роки тому +3

    Otima aula Heber, estou utilizando o exemplo disponibilizado é ocorre erro no servidor quando realizo acesso sumultaneo no Get('/cliente', ListarClientes), memory violaction, se eu realizar somente um acesso ok sem erro, o problema é acesso simultaneo, alguem passou por isso nos testes? tem como resolver Heber?

    • @99coders
      @99coders  3 роки тому

      Tente não usar um único TRestClient... para cada componente TRestRequest, coloque um TRestClient diferente... veja se resolve.

    • @eduardoaraujobr2003
      @eduardoaraujobr2003 3 роки тому

      @@99coders estou consumindo a API utilizando o insomnia e Google somente, o erro ocorre quando acesso simultâneo o mesmo serviço.

    • @higorhenrique1579
      @higorhenrique1579 2 роки тому +1

      Bom dia, Conseguiu achar a solução estou com o mesmo problema.

    • @99coders
      @99coders  2 роки тому +1

      @@higorhenrique1579 Como está fazendo a conexão com o banco? Com módulo de dados, fdconnection, etc?

    • @higorhenrique1579
      @higorhenrique1579 2 роки тому

      @@99coders estava utilizando o mesmo exemplo conforme exemplificado pelo colega acima, uma vez realizado o consumo do método Get('/cliente', ListarClientes) , em mais de um terminal ou aparelho por exemplo, é constatado o erro de violação de acesso. é possível simular de forma mais fácil, colocando um break no começo do evento ListarClientes, de tal forma a forçar o acesso a camada de dados da aplicação simultânea.

  • @rodolfovogas6355
    @rodolfovogas6355 2 роки тому +1

    estou tentando fazer a Horse.upload e recebo o seguinte erro: THorseHackRequest(Req).GetWebRequest; undeclared identify..alguem sabe pq??

  • @tibaros
    @tibaros 2 роки тому +1

    Horse o DelphiMVCFramework?? que usar?

    • @99coders
      @99coders  2 роки тому

      Só conheço o Horse.

  • @johnbh3
    @johnbh3 Рік тому +1

    quando cai no except da acessViolatin e n entendi pq

  • @sararsmota
    @sararsmota Рік тому

    Olá, como faria para conectar o banco de dados via FTP?

  •  4 місяці тому

    nao tempo como no inserir jogar o body em um dataset sem ser manual ?

  • @IvanilsonRibeiroConsultor
    @IvanilsonRibeiroConsultor 8 місяців тому +1

    Como eu faço pra jogar meu servidor Horse no Linux usando Delphi 11?

    • @99coders
      @99coders  8 місяців тому +1

      Uh… conheço quase nada de Linux

    • @IvanilsonRibeiroConsultor
      @IvanilsonRibeiroConsultor 8 місяців тому

      Td bem meu querido Heber, achei uns videos aqui estou testando . Grato pelo retorno abcss@@99coders

  • @matiasfilho499
    @matiasfilho499 2 роки тому +1

    Tem como rodar como serviço do IIS para hospedar em um servidor web?

    • @99coders
      @99coders  2 роки тому

      Tem sim, mas infelizmente não tenho vídeo aberto no UA-cam sobre esse assunto

  • @gilmarsantossilva4332
    @gilmarsantossilva4332 3 роки тому +1

    Heber, este curso Amazon Pro, tem certificado ?

    • @99coders
      @99coders  3 роки тому

      Tem o certificado gerado pelo Nutror (Eduzz)

  • @marcosrobertodacruz3122
    @marcosrobertodacruz3122 Рік тому +1

    Esse é melhor que o tms core ?

    • @99coders
      @99coders  Рік тому

      Não conheço tms core

  • @lojalearnsoftwares
    @lojalearnsoftwares 7 місяців тому

    não está conectando no banco. Aparece a mensagem : Erro ao conectar com o banco

  • @ocacadordeporco
    @ocacadordeporco 3 роки тому +1

    Essa sua maquina na amazon é a EC2 gratuita?

    • @ocacadordeporco
      @ocacadordeporco 3 роки тому

      se sim, da pra fazer uma maquina windows pras requisições?

    • @99coders
      @99coders  3 роки тому

      Sim, dá para criar uma EC2 gratuita por um ano

    • @ocacadordeporco
      @ocacadordeporco 3 роки тому

      @@99coders mais da pra publicar esse servidor numa máquina windows de hardware baixo no caso dessa ec2 gratuita por 1 ano

    • @ocacadordeporco
      @ocacadordeporco 3 роки тому

      @@99coders ?

  • @smartsys_sistemas
    @smartsys_sistemas 3 роки тому +1

    Rapaz estou com um problema absurdo dedas 8 da manha agora são 20:44 e nada
    Me retorna erro 500
    Internal Server Error 🐎
    Access violation at address 00868183 in module 'iSoftAPI.exe'. Read of address 00000064
    alguém consegue me ajudar ?

    • @99coders
      @99coders  3 роки тому

      Pode ser muita coisa... geralmente você deve estar matando alguma variável que não pode...

    • @smartsys_sistemas
      @smartsys_sistemas 3 роки тому

      @@99coders rapaz refiz o projeto umas 4 vezes depois de ter mando a mensagem e não funcionou inclusive, usei seus fontes que tbm não funcionou, mesmo em outro PC, fui pra o RDW acabou que achei mais pratico e funcionou de primeira!

  • @reginaldosantos5706
    @reginaldosantos5706 2 роки тому

    está me retornando erro 404 - not found. Alguem poderia me dar uma dica? Estou usando o Mysql. pode ser isso?

  • @tiagorobson9442
    @tiagorobson9442 2 роки тому

    Executei, mas não criou o arquivo ini

    • @tiagorobson9442
      @tiagorobson9442 2 роки тому

      e tentei compilar os arquivos disponibilizados voce para comparar mas não compila da erro. pode ajudar?

  • @acizuchinali7816
    @acizuchinali7816 Рік тому +1

    Aula top, exatamente o que eu estava procurando.
    Porém me deparei com um problema na unit Horse.Mime.
    var
    LKind: TMimeTypes.TKind;
    [dcc32 Error] Horse.Mime.pas(67): E2003 Undeclared identifier: 'TMimeTypes'
    Alguém pode me ajudar?

  • @spospcspb09
    @spospcspb09 2 роки тому +1

    Estou recebendo este erro e não consigo arrumar. Está tudo ok com o código.
    "First chance exception at $75467152. Exception class EFDException with message '[FireDAC][Comp][Clnt]-340. Driver ID is not defined. Set TFDConnection.DriverName or add DriverID to your connection definition'. Process ServerHorse.exe (8996)"

    • @99coders
      @99coders  2 роки тому

      Por algum motivo o sistema não está conseguindo configurar o FDConnection com o driver do banco.

    • @jaircuritiba
      @jaircuritiba 10 місяців тому +1

      @@99coders Apesar de haver passado 1 ano, quero deixar proposto no except o retorno do erro para entendimento do que ocorre, ou seja,
      try
      cli := TCliente.Create;
      except
      on e: exception do
      begin
      Res.Send('Erro ao conectar com o banco -> '+e.Message).Status(500);
      exit;
      end;
      end;

    • @alexmcardoso
      @alexmcardoso 7 місяців тому

      Eu estava com o mesmo erro, estava tentando conectar com o banco sql server, descobri que é so adicionar no use da unit connection isso FireDAC.Phys.MSSQL