Rest Client menggunakan Lazarus / FreePascal sangatlah mudah

Beberapa unit yang dibutuhkan : fpjson, jsonparser, fphttpclient

Misalkan API Server dan metode API ada di http://localhost:3000/sysadm/getcatalog

dengan response dari server berupa JSON

{
    "iserror": 0,
    "total": 1,
    "msg": "Success",
    "rows": {
        "useraccessid": 2,
        "username": "admin",
        "realname": "Administrator",
        "password": "e10adc3949ba59abbe56e057f20f883e",
        "email": "romy@prismagrup.com",
        "phoneno": "081932701147",
        "languageid": 1,
        "themeid": 13,
        "isonline": 0,
        "authkey": "0eee84644e30470db25607a8a59ee4d9",
        "wallpaper": "Andromeda-Galaxy.jpg",
        "createddate": "2019-11-11T09:59:46.000Z",
        "updatedate": "2019-11-11T09:59:46.000Z",
        "recordstatus": 1,
        "languagename": "Indonesia",
        "themename": "win10basic"
    }
}
kita buat terlebih dahulu fungsi GetRows yang kita letakkan di form

procedure TBaseForm.GetRows();
begin
  if (Self.lResponse <> '') then
  begin
    jsData:= GetJSON(lResponse);
    jsObject:= TJSONObject(jsData);
    isError:= jsObject.Get('iserror');
    if (isError = 0) then
    begin
      total:= jsObject.Get('total');
      msg:= jsObject.Get('msg');
    end else
    begin
      showresponse();
    end;
  end;
end;
Jangan lupa untuk membuat Variabel yang dibutuhkan

    fpClient              : TfpHttpClient;
    slBody                : TStringList;
    jsData                : TJSONData;
    jsObject,rows         : TJSONObject;
    Parser                : TJSONParser;
    iserror,total         : integer;
    msg                   : string;
Sedangkan proses pemanggilan ke API Server sebagai berikut :

procedure TLoginForm.actLoginExecute(Sender: TObject);
var
  jsArray: TJSONArray;
  jsEnum: TJSONEnum;
  i: integer;
begin
  slBody.Clear;
  slBody.Add('username='+edUserName.Text);
  slBody.Add('password='+edPassword.Text);
  try
    lResponse:= fpClient.SimpleFormPost(Host.server+'sysadm/login',slBody);
    GetRows();
    jsData:= jsObject.Find('rows');
    jsObject:= TJsonObject(jsData);
    User.useraccessid:= jsObject.Get('useraccessid');
    User.username:= jsObject.Get('username');
    User.realname:= jsObject.Get('realname');
    User.password:= jsObject.Get('password');
    User.email:= jsObject.Get('email');
    User.phoneno:= jsObject.Get('phoneno');
    User.languageid:= jsObject.Get('languageid');
    User.themeid:= jsObject.Get('themeid');
    User.isonline:= jsObject.Get('isonline');
    User.authkey:= jsObject.Get('authkey');
    User.wallpaper:= jsObject.Get('wallpaper');
    User.languagename:= jsObject.Get('languagename');
    User.themename:= jsObject.Get('themename');
  except
    ShowResponse();
  end;
end;
Demikianlah sekilas pembuatan Rest Client menggunakan lazarus / Free Pascal