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