Filtered query with XDataClient

Hallo,
based on the video tutorial "TMS XData Client Fastest and easiest way to access Rest XData server from Delphi" I made a sample application with XDataClient + AureliusDataSet as follows:

Client := TXdataClient.Create;
Client.Uri := 'http://linux/chinook';
Customers := Client.List<TCustomers>;
AureliusDataSet1.SetSourceList(Customers);
AureliusDataSet1.Open;

It works fine of course but I still can't figure how to implement a filtered query such as:
http://linux/chinook/customers?$filter=CustomerID eq 1'

Unlike a IDBConnection, such as
  Manager := TObjectManager.Create(Connection);

I can't figure how to create a Manager on the above approach. I have read about Service Operations, but is there a more simple approach ?

Thank you ;-)

You don't need a TObjectManager when retrieving data from XData. You can either implement a service operation that provides filtered data, as you mentioned, or you can simply pass the query string as a parameter to the List method:



Customers := Client.List<TCustomers>('$filter=CustomerID eq 1');

Hallo Wagner,
thanks, it works fine when compiling to Win32, however any attempt to use filtering on Android applications generates a XData server request error, URL.....  Status code 400
as you can see on the attached picture, Delphi code, browser query, Win32 and Android apps:
https://postimg.cc/pyf8L5pg

Thanks again

URL must actually be percent encoded. Most correct code is this:



Customers := Client.List<TCustomers>('$filter=CustomerID%20eq%201');


or in a more generic way:

Customers := Client.List<TCustomers>('$filter=' + TBclUtils.PercentEncode('CustomerID eq 1'));