Auto generated schemaless GET ALL API
[Mongo Database Only]
Table structure
customer_id | first_name | last_name | last_update | pincode | isActive |
---|---|---|---|---|---|
1 | Bob | lin | 2022-11-14 04: 34: 58 | 382345 | 1 |
2 | Alice | Page | 2022-10-15 02: 10: 40 | 382346 | 1 |
3 | Mallory | Brown | 2022-09-13 03: 44: 05 | 382347 | 1 |
4 | Eve | Mathly | 2022-11-12 01: 59: 33 | 382348 | 1 |
5 | Eve | Page | 2022-11-12 01: 59: 33 | 382349 | 1 |
Note: While using the generated schemaless APIs you have to provide the respective type data. E.x. If the age=22
value in the database and in the query we provide age: "22"
it will not get that value. It will perform a query based on a string.
Simple get all
URL
Get by any field
Get by multiple fields
Skip data
- It will skip the first 10 documents/rows.
- It will skip the first 2 documents/rows having pinCode equals "382345"
Limit data
- It will return only 10 documents/rows having first_name equal to "Bob"
Sort data
- It will sort documents/rows in order of ascending or descending
ascending
descending
Select data
- It will return only first_name and last_name in response
Deep data
- It will return documents/rows from multiple table combinations.
s_key = Source collection/table field
t_col = Target collection/table name
t_key = Target collection/table field
- also use multiple query params [skip, limit, sort, find, etc...] in single a deep query.
?deep=[{s_key:'customer_id',t_col:'products',t_key:'owner_id',skip:1,isMultiple:true,limit:5,sort:'name',find:{category_id:{$in:[56572,89355]}}}]
GetTotalCount data
- It will return an additional parameter of totalCount which indicate the total number of documents/rows.
Find: valid JSON support for fetching data using find.
- It will return documents/rows as per JSON condition.
Find: Complex condition support in find query param
- It will return documents/rows as per the condition.
Additional Query Param Support
- It will return documents/rows as per the additional query param.
Multiple Query param support in one api
- It will return documents/rows, that fulfill all query param.
?find={first_name:'Bob'}&skip=1&limit=4&sort=-1&select=first_name&deep=[{s_key:'customer_id,t_col:'products',t_key:'owner_id'}]&getTotalCount=true
Pre hook support
- User can write pre hook code. They can perform multiple operation before the actual Get-all API will call.
- To know how it works click here.
Post hook support
- User can write post hook code. They can perform multiple operation after the actual Get-all API will call.
- To know how it works click here.
Caching support
- When user add collection setting with "enableCaching: true" the get-all API of that collection automatically start caching the response.
- To know how it works click here.
Summary
Key | Value |
---|---|
find | ?find={first_name:'Bob'} |
skip | 2 |
limit | 2 |
sort | customer_id |
select | ?select=first_name,customer_id |
deep | ?deep=[{s_key:'customer_id,t_col: 'products',t_key:'owner_id'}] |
getTotalCount | true |
All table fields | You can use any column name as query params. |
Supported headers
Header | Description |
---|---|
x-am-response-case | It will change the response keys text as requested case. noChange | camelCase | capitalCase | constantCase | dotCase | headerCase | noCase | paramCase | pascalCase | pathCase | sentenceCase | snakeCase |
x-am-response-object-type | To get flat response we use this request header. no_action | make_flat |
x-am-meta | To get the meta-data of requested API. false | true |
x-am-secret | Place secret id from API Maker. |
x-am-internationalization |
We can get backend error messages in any user language and directly show them to the user in UI, so the user can take appropriate actions.
Provide saved internationalization name in request header. |
x-am-run-in-sandbox | System will try to run requests in maximum provided sandbox, so if 1 provided every request will run in one sandbox, even if we have multiple sandbox with multiple API Maker instances. |
x-am-content-type-response | We can provide response type in request header. As provided header value we can expect the response type. application/json | text/xml | text/yaml |
x-am-cache-control | To reset the cache of the requested API manually and get fresh data, we can use 'x-am-cache-control' request header. no_action | reset_cache |
x-am-get-encrypted-data | Encrypt response data and get in to the response. no_encryption | get_only_encryption | get_data_and_encryption |
x-am-authorization | Provide token of API user in "x-am-authorization" header which will be generated from API Users inside API Maker. |
x-am-user-authorization | User token should be provided in 'x-am-user-authorization' header which will be generated based on some database user if required. |
x-aws-authorization | Provide AWS Cognito token in request header 'x-aws-authorization', if required. |
x-google-authorization | Provide Google user token in request header 'x-google-authorization', if required. |
x-azure-authorization | Provide Azure active directory token in request header 'x-azure-authorization', if required. |
x-no-compression | If user do not send 'x-no-compression' in request header, and response characters are more than value of "maxCharsResToCache" than the response will be compressed. |
x-am-sandbox-timeout | If any API did not give a response within given time, the sandbox will break and give a proper error message in the response. |
x-am-encrypted-payload | When user sent encrypted payload, user must have to sent "x-am-encrypted-payload:true". |