Ir para o conteúdo

Jhonson

O Jhonson é um middleware para você trabalhar com JSON em suas APIs.

⚙️ Instalação

Você pode instalar facilmente utilizando o comando boss install:

boss install jhonson

Ou, se você preferir instalar manualmente, basta adicionar as pastas em seu projeto, em Project > Options > Resource Compiler > Directories and Conditionals > Include file search path:

../jhonson/src

✔️ Compatibilidade

Delphi Lazarus
  ✔️    ✔️

🤙 Exemplos de Uso

uses
  Horse,
  Horse.Jhonson, // Está unit é necessária
  System.JSON;

begin
  // Necessário para adicionar o Middleware no Horse:
  THorse.Use(Jhonson());

  // Especificar o charset na hora de adicionar o middleware no Horse:
  // THorse.Use(Jhonson('UTF-8'));

  THorse.Post('/ping',
    procedure(Req: THorseRequest; Res: THorseResponse; Next: TProc)
    var
      LBody: TJSONObject;
    begin
      // Req.Body da acesso ao conteúdo da requisição em formato de string.
      // Usando o middleware jhonson, podemos obter o conteúdo da requisição no formato JSON

      LBody := Req.Body<TJSONObject>;
      Res.Send<TJSONObject>(LBody);
    end);

  THorse.Listen(9000);
end;
{$MODE DELPHI}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Horse,
  Horse.Jhonson, // Está unit é necessária
  fpjson,
  SysUtils;

procedure PostPing(Req: THorseRequest; Res: THorseResponse; Next: TNextProc);
var
  LBody: TJSONObject;
begin
  // Req.Body da acesso ao conteúdo da requisição em formato de string.
  // Usando o middleware jhonson, podemos obter o conteúdo da requisição no formato JSON
  LBody := Req.Body<TJSONObject>;
  Res.Send<TJSONObject>(LBody);
end;

begin
  // Necessário para adicionar o Middleware no Horse:
  THorse.Use(Jhonson);

  // Especificar o charset na hora de adicionar o middleware no Horse:
  // THorse.Use(Jhonson('UTF-8'));

  THorse.Post('/ping', PostPing);

  THorse.Listen(9000);
end.

⚠️ Avisos