standardapi-client
v1.0.5
Published
A javascript client for making StandardAPI calls.
Downloads
30
Readme
StandardAPI Client
A javascript client for making StandardAPI calls.
Installation
Using npm:
$ npm install standardapi-client
Using yarn:
$ yarn add standardapi-client
Implementation
First the client must be instantiated.
import StandardAPIClient from 'standardapi-client';
const client = new StandardAPIClient({
baseURL: API_BASE_URL
})
If the Rails server uses authorization headers you can add them on instantiation.
import StandardAPIClient from 'standardapi-client';
const client = new StandardAPIClient({
baseURL: API_BASE_URL,
headers: {
'Api-Key': API_KEY,
'Api-Version': API_VERSION,
}
})
Usage
Essentially, StandardAPI Client extends axios under the hood, adding five methods create
, read
, update
, destroy
, and count
for making StandardAPI calls.
client.create(baseModel, payload)
Sends a POST request to the Rails server to create a record.
const response = await client.create('todos', {
description: 'Update the StandardAPI Client docs.',
priority: 'MEDIUM'
})
console.log(response.data) // Newly created todo record.
client.read(baseModel, params)
Sends a GET request to the Rails server to query a record set.
const response = await client.read('todos', {
limit: 5,
offset: 10,
where: {
priority: 'HIGH'
},
include: {
photos: true
},
order: {
created_at: 'desc'
}
})
console.log(response.data) // The array of todo records that match the query parameters.
client.update(baseModel, payload)
Sends a PATCH request to the Rails server to update a record.
const response = await client.update('todos', {
id: 'abc-123',
priority: 'HIGH'
})
console.log(response.data) // The updated todo record.
client.destroy(baseModel, id)
Sends a DELETE request to the Rails server to destroy a record.
const response = await client.delete('todos', 'abc-123')
console.log(response.status) // Returns 204 if record is successfully deleted.
client.count(baseModel, params)
Sends a GET request to the Rails server to return the count of a record set.
const response = await client.count('todos', {
where: {
priority: 'HIGH'
}
})
console.log(response.data) // The number of todo records that match the query parameters.