segunda-feira, 9 de junho de 2025

Usando API Rest com Delphi 7 de forma simples

Vamos criar uma API REST simples em Delphi. Para isso, usaremos o Delphi 7 com Indy components (se for o que você tem disponível) ou, se estiver usando uma versão mais recente do Delphi (como Delphi XE6+), o ideal é usar o RAD Server (EMS) ou criar via WebBroker.

Como você mencionou anteriormente que trabalha com Delphi 7, vou te mostrar um exemplo simples usando Indy (IdHTTPServer) para criar uma API REST rudimentar. Se estiver usando uma versão mais nova, posso adaptar para WebBroker ou RAD Server, é só avisar.

✅ Exemplo: API REST simples com Delphi 7 e Indy (IdHTTPServer)

Essa API vai responder um JSON simples em uma rota /hello.

1. Coloque os componentes no formulário

TIdHTTPServer (ex: IdHTTPServer1)

TMemo (opcional, para log)

Ative IdHTTPServer1.Active := True;


2. Código de exemplo

uses

IdHTTPServer, IdCustomHTTPServer, SysUtils, Classes, IdContext;

procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;

  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);

begin

  if ARequestInfo.Document = '/hello' then

  begin

    AResponseInfo.ContentType := 'application/json';

    AResponseInfo.ResponseNo := 200;

    AResponseInfo.ContentText := '{"message": "Olá, mundo!"}';

  end

  else

  begin

    AResponseInfo.ResponseNo := 404;

    AResponseInfo.ContentText := '{"error": "Rota não encontrada"}';

  end;

end;


📌 Resultado esperado

Requisição para http://localhost:port/hello retorna:

{"message": "Olá, mundo!"}


✅ Dicas extras

Porta: configure a propriedade DefaultPort do IdHTTPServer1 (ex: 8080).

Métodos GET/POST: você pode usar ARequestInfo.Command para distinguir entre métodos HTTP.

JSON mais complexo: use TStringList ou TMemoryStream para respostas maiores ou arquivos.

Nenhum comentário:

Postar um comentário