Api
Class for handling responses and requests.
Static Member Summary
Static Public Members | ||
public static |
List of formatter you can use to process content of body request. |
Static Method Summary
Static Public Methods | ||
public static |
convertData(data: Object, to: Format): string | FormData Convert data in object to format of Fetch body. |
|
public static |
convertParametersToUrl(parameters: Object): string Convert object to url parameters string. |
Constructor Summary
Public Constructor | ||
public |
constructor(apiUrl: string, processors: Array<ProcessorAdapter>, defaultHeaders: Object, defaultOptions: RequestOptions) Constructor. |
Member Summary
Public Members | ||
public |
Base api url |
|
public |
Base http headers |
|
public |
defaultOptions: RequestOptions Base settings for Fetch Request |
|
public |
List of processors that parse response from server. |
Method Summary
Public Methods | ||
public |
Send a DELETE request. |
|
public |
Send a GET request. |
|
public |
getDefaultHeaders(): Headers Get default headers. |
|
public |
Send a POST request. |
|
public |
Send a PUT request. |
|
public |
removeDefaultHeader(name: string): void Remove default header. |
|
public |
request(namespace: string, method: MethodType, options: RequestOptions, headers: Object): Promise<ProcessedResponse> Request given API endpoint. |
|
public |
setDefaultHeader(name: string, value: string): void Add default HTTP header. |
|
public |
setDefaultHeaders(headers: Headers): void Set default headers. |
Protected Methods | ||
protected |
fetchRequest(request: Request): Promise<Response> Fetch API url. |
|
protected |
requestWithBody(namespace: string, method: MethodType, data: Object, format: Format, headers: Object): Promise<ProcessedResponse> Send a request with body. |
Static Public Members
Static Public Methods
public static convertData(data: Object, to: Format): string | FormData source
Convert data in object to format of Fetch body.
Params:
Name | Type | Attribute | Description |
data | Object | Data to convert |
|
to | Format | Format to which convert the data. Default is JSON. |
Return:
string | FormData | Converted data |
Example:
const body = Api.convertData({ a: 'b' }, Api.FORMATS.JSON_FORMAT);
// output is {"a":"b"}
Public Constructors
Public Members
Public Methods
public delete(namespace: string, headers: Object): Promise<ProcessedResponse> source
Send a DELETE request.
public get(namespace: string, parameters: Object, headers: Object): Promise<ProcessedResponse> source
Send a GET request.
Example:
const { data } = await api.get('brand', { id: 5 })
// will call YOUR_URI/brand?id=5
console.log(data);
public post(namespace: string, data: Object, format: Format, headers: Object): Promise<ProcessedResponse> source
Send a POST request.
public put(namespace: string, data: Object, format: Format, headers: Object): Promise<ProcessedResponse> source
Send a PUT request.
public removeDefaultHeader(name: string): void source
Remove default header.
Params:
Name | Type | Attribute | Description |
name | string | Name of header |
Return:
void |
public request(namespace: string, method: MethodType, options: RequestOptions, headers: Object): Promise<ProcessedResponse> source
Request given API endpoint.
Example:
const { data } = await api.request('ad', 'POST', {
body: '{"ad":1}'
})
const { data } = await api.request('http://i-can-request-full-url.com/?a=b', 'GET')
public setDefaultHeader(name: string, value: string): void source
Add default HTTP header.
Return:
void |
Example:
api.setDefaultHeader('content-type', 'application/json');
public setDefaultHeaders(headers: Headers): void source
Set default headers.
Params:
Name | Type | Attribute | Description |
headers | Headers | HTTP headers |
Return:
void |
Protected Methods
protected fetchRequest(request: Request): Promise<Response> source
Fetch API url.
Params:
Name | Type | Attribute | Description |
request | Request | Fetch request |