Lines 48-53
info:
Link Here
|
48 |
Note: Some routes might offer additional attributes in their error responses but that's |
48 |
Note: Some routes might offer additional attributes in their error responses but that's |
49 |
subject to change and thus not documented. |
49 |
subject to change and thus not documented. |
50 |
|
50 |
|
|
|
51 |
## Filtering responses |
52 |
|
53 |
The API allows for some advanced response filtering using a json based query syntax that |
54 |
can be added as a query parameter, `q=` or in the request body. |
55 |
|
56 |
For simple field equality matches we can use `{ "fieldname": "value" }` where the fieldname |
57 |
matches one of the fields as described in the particular endpoints response object. |
58 |
|
59 |
We can refine that with more complex matching clauses by nesting a the clause into the |
60 |
object; `{ "fieldname": { "clause": "value" } }`. |
61 |
|
62 |
Available matching clauses include ">", "<", ">=", "<=", "-like", and "-not_like". |
63 |
|
64 |
We can filter on multiple fields by adding them to the JSON respresentation. Adding at `HASH` |
65 |
level will result in an 'AND' query, whilst combinding them in an `ARRAY` wilth result in an |
66 |
'OR' query: `{ "field1": 'value2', "field2": "value2" }` will filter the response to only those |
67 |
results with both field1 containing value2 AND field2 containing value2 for example. |
68 |
|
69 |
### Examples |
70 |
|
71 |
The following request would return any patron with firstname "Henry" and lastname "Acevedo"; |
72 |
|
73 |
`curl -u koha:koha --request GET 'http://127.0.0.1:8081/api/v1/patrons/' --data-raw '{ "surname": "Acevedo", "firstname": "Henry" }'` |
74 |
|
75 |
The following request would return any patron whose lastname begins with "Ace"; |
76 |
|
77 |
`curl -u koha:koha --request GET 'http://127.0.0.1:8081/api/v1/patrons/' --data-raw '{ "surname": { "-like": "Ace%" }'` |
78 |
|
51 |
## Special headers |
79 |
## Special headers |
52 |
|
80 |
|
53 |
### x-koha-library |
81 |
### x-koha-library |
54 |
- |
|
|