When need to allow for different request/response formats.
In general, we could have two scenario's:
Adapters
Option 1
We could configure the response adapter like:
const api = compeller(spec, {
adapter: 'apigateway'
});
const { request, response } = api('/api/v1/line-items/{id}', 'get')
Option 2
Design an interface.
If we will hand off the interfaces of statusCode, body?, headers? then we can allow for an adapter to be written like:
const responder = (
statusCode: number,
body: Record<string, unknown> = {},
headers: Record<string, unknown> = {}
) => ({
statusCode,
body: JSON.stringify(body),
headers
})
const api = compeller(spec, {
responder,
});
const { request, response } = api('/api/v1/line-items/{id}', 'get')
When need to allow for different request/response formats.
In general, we could have two scenario's:
Adapters
Option 1
We could configure the response adapter like:
Option 2
Design an interface.
If we will hand off the interfaces of
statusCode, body?, headers?then we can allow for an adapter to be written like: