totalknowledge / angular-launchpad

MIT License
2 stars 2 forks source link

Add robust filtering, pagination and ordering to web service requests. #16

Open totalknowledge opened 8 years ago

totalknowledge commented 8 years ago

implement: ?order={asc|desc,asc|desc} --> sortby assumed to be ID when none provided. ?sort=+-key,+-key2 --> order assumed to be asc when not provided. ?key=value(s) --> where key is or has value e.g. age=25 or subcollection.age=25 ?filter={"age":25} or {"authors":{"age":25}} ?search=valuelike --> cross key search. ?limit=number --> return max of number items in collection ?offset=number --> return items starting with offset ?fields=a,b,c,d --> return only fields specified. ?page=1 ?pagesize=10

Headers should contain filter sorting and pagination data as well as pagination extra data.

totalknowledge commented 8 years ago

an example url could be api/v0/students?fields[students]=name,age&sort=age,name&filter={"age":25}&pagesize=10&page=2

totalknowledge commented 8 years ago

Filter can be extensive and include things like: api/v0/students?filter>{age:25} or api/v0/students?filter={"name":["Bob", "Jane"]}