Controlling API Gateway caching parameters
December 21, 2017 ยท View on GitHub
To use API Gateway caching, API endpoints need to declare parameters. Since claudia 2.1.2, dynamic path parameters (eg from API endpoints /person/{name}) are set automatically. You can also use query string and header parameters to control caching, but you'll need to set them explicitly.
Use the requestParameters configuration key, and provide a key-value hash object. For keys, either use the full API Gateway parameter location mapping (for example method.request.querystring.name) or create sub-objects querystring and header with just the parameter names inside. The values should be true or false, and indicate whether a parameter is required (true) or optional (false). For more information, check out Request and Response Data Mappings from the API Gateway guide.
// set query string and header params using fully qualified names
api.get('/test', function () { // handler },
{
requestParameters: {
'method.request.querystring.name' : true,
'method.request.header.x-123': true
}
});
// set query string and header params using object notation
api.get('/test', function () {},
{
requestParameters: {
querystring: { name : false },
header: {'x-123': true}
}
})
// no need to set path params, done automatically
api.get('/some/{path}/param', function () { } );
// add specific header/query string to automatically created path params
api.get('/some/{path}/param', function () { },
{
requestParameters: {
querystring: { name : false },
header: {'x-123': true}
}
});