Hi Thomas,
Thank you very much for the valuable feedback.
The issues have already been addressed and are going in the next release.
The ORing example was rectified and clarified:
Attribute values ORING is supported and is achieved by providing a filtering expression where the same attribute name is duplicated a number of times [{attributeName}={attributeValue}&*] different values.
Alternatively the following expression [{attributeName}={attributeValue},\{ attributeValue }*] is also supported.
ORING can also be explicit by using " ; " many time [{attributeName}={attributeValue};{attributeValue}*]
The "OR" behavior can also be achieved by providing a filtering expression using one of the following expressions.
For example:
GET /api/troubleTicket?status=acknowledged;rejected
GET /api/troubleTicket?status=acknowledged;rejected&type=BillDispute
GET /api/troubleTicket?status=acknowledged,rejected
GET /api/troubleTicket?status=acknowledged,rejected&type=BillDispute
The "regexp" operators has also been clarified:
.regex=
Regexp expression
Note: all regexp special characters must be encoded
Example: Consider a regexp expression to search for the words Compliant and Bill:
~^.?\bCompliant\b.?\bbill\b.*?$
(delimiter is ~)
which URI encoded is equivalent with:
~%5E.%2A%3F%5CbCompliant%5Cb.%2A%3F%5Cbbill%5Cb.%2A%3F%24
GET /api/troubleTicket?description.regex=~%5E.%2A%3F%5CbCompliant%5Cb.%2A%3F%5Cbbill%5Cb.%2A%3F%24
And all the other operators including .lte have additional clarifications. Now in regards to .lte the special character is just an editor error, converting the characters < = into ⇐
.lte <=
less than or equal to (<=)
Return results where the search criteria field is equal or less than
Example:
GET /api/troubleTicket?expectedResolutionDate.lte=2017-04-20
or
GET /api/troubleTicket?expectedResolutionDate%3C%3D=2017-04-20
Thank you,
Florin
------------------------------
Florin Tene
CityFibre
------------------------------
Original Message:
Sent: Nov 24, 2022 05:50
From: Thomas Lußnig
Subject: Query Resources with attribute filtering from TMF630_REST_API_Design_Guidelines_Part_1_v4.2.0.pdf
Hi i have 3 questions about the point attribute filtering:
4.4. Query Resources with attribute filtering
1) Syntax für ORING [{attributeName}={attributeValue};{attributeValue}*]
Example:
status=acknowledged;status=rejected
This would match the syntax
[{attributeName}={attributeValue}(;{attributeName}={attributeValue})*]
2) Operator Literal
regex , *= URI Encoded %3D~
The URI form is not equal to "*=" but "=~"
Does regex ist not prefix with an DOT like the other literal operators ?
3) With .gte also >= is used, but .lte has an unknown special character that maybe ≤ ?
Gruß Thomas Lußnig
------------------------------
Thomas Lußnig
T-Systems International Services GmbH
------------------------------