Skip to content

daviddev16/Restfaces

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Restfaces

1. Define your Interface

    IDragonBallAPIClient = interface(IRestfacesClient)
        [Get('/characters')]
        function FindAllCharacters(
              [Query] const SortField: String;
	          [Query] const SortOrder: String;
              [Query] const PageRequest: TPageRequest): TPageResponse<TCharacter>;
    end;

2. Getting the client instance

Client Builder

var
    lDragonBallAPIClient: IDragonBallAPIClient;
begin
    lDragonBallAPIClient := TRestfacesClientBuilder<IDragonBallAPIClient>.New()
        .BaseUrl('https://dragonball-api.com/api')
        .MessageConverter(TRestfacesJSONDefaultConverter)
        .HttpClient(TRestfacesDefaultHttpClient)
        .BuildClient();
end;

Class Function

var
    lDragonBallAPIClient: IDragonBallAPIClient;
begin
    lDragonBallAPIClient := TRestfaces.MakeClient<IDragonBallAPIClient>('https://dragonball-api.com/api');
end;

3. Enjoy your Restface

var PageRequest: TPageRequest;
PageRequest.Page := 1;
PageRequest.Limit := 10;

var PageResponse := lDragonBallAPIClient.ConsultarPersonagens('name', 'ASC', PageRequest);

for var Item in Response.Items do
begin
  WriteLn('========================');
  WriteLn('Id: ' + Item.Id.ToString());
  WriteLn('Name: ' + Item.Name);
  WriteLn('Descrption: ' + Item.Description);
  WriteLn('========================');
end;

Response.Free();

About

🎭Dynamic REST Client Interfaces for Delphi (Makes writing HTTP clients easier) [In dev]

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages