Sam Hulick
08/18/2021, 10:31 PMmiddy
for API request validation? for some reason, invalid API calls (missing required params) are being passed to the underlying Lambda codeDennis Dang
08/18/2021, 10:41 PMlambda.use(
validator({
inputSchema: validators.inputSchema,
ajvOptions: {
strict: false,
useDefaults: false,
},
})
);
I haven't seen AJV (used underneath the hood) passing through bad requests when we have the proper
"required": ["field_one", "field_two", ...]
in our openapi schemaSam Hulick
08/18/2021, 10:41 PMSam Hulick
08/18/2021, 10:43 PMSam Hulick
08/18/2021, 10:46 PMSam Hulick
08/18/2021, 10:46 PMqueryStringParameters
required too, in case NO params are sent
const schema = {
type: 'object',
properties: {
queryStringParameters: {
type: 'object',
properties: {
item_type: { enum: ['TRACK', 'VIDEO', 'IMAGE', 'REEL'] },
},
required: ['item_type'],
},
},
required: ['queryStringParameters'],
} as const;
Adrián Mouly
08/18/2021, 10:55 PMAdrián Mouly
08/18/2021, 10:55 PMAdrián Mouly
08/18/2021, 10:55 PMAdrián Mouly
08/18/2021, 10:55 PMSam Hulick
08/18/2021, 10:55 PMmiddy
w/ its httpValidator
middlewareSam Hulick
08/18/2021, 10:56 PMDennis Dang
08/18/2021, 10:57 PMAdrián Mouly
08/18/2021, 11:00 PMAdrián Mouly
08/18/2021, 11:01 PMAdrián Mouly
08/18/2021, 11:03 PMAdrián Mouly
08/18/2021, 11:03 PMAdrián Mouly
08/18/2021, 11:04 PMSam Hulick
08/18/2021, 11:05 PMreturn middy(lambdaHandler).use(httpValidator({ inputSchema: schema })).use(...)
Adrián Mouly
08/18/2021, 11:05 PMSam Hulick
08/18/2021, 11:06 PMAdrián Mouly
08/18/2021, 11:06 PMAdrián Mouly
08/18/2021, 11:06 PMSam Hulick
08/18/2021, 11:07 PMAdrián Mouly
08/18/2021, 11:07 PMtype: 'object',
?
Isn’t better just define a Class?Sam Hulick
08/18/2021, 11:07 PMAdrián Mouly
08/18/2021, 11:07 PMAdrián Mouly
08/18/2021, 11:07 PMSam Hulick
08/18/2021, 11:07 PMAdrián Mouly
08/18/2021, 11:07 PMSam Hulick
08/18/2021, 11:07 PMAdrián Mouly
08/18/2021, 11:07 PMAdrián Mouly
08/18/2021, 11:07 PMAdrián Mouly
08/18/2021, 11:08 PMAdrián Mouly
08/18/2021, 11:08 PMAdrián Mouly
08/18/2021, 11:08 PMDennis Dang
08/18/2021, 11:08 PMAdrián Mouly
08/18/2021, 11:08 PMSam Hulick
08/18/2021, 11:09 PMas ItemType
to convert it to an actual enumAdrián Mouly
08/18/2021, 11:09 PMAdrián Mouly
08/18/2021, 11:09 PMAdrián Mouly
08/18/2021, 11:10 PMAdrián Mouly
08/18/2021, 11:10 PMAdrián Mouly
08/18/2021, 11:13 PMAshishkumar Pandey
08/18/2021, 11:28 PMSam Hulick
08/18/2021, 11:29 PMAshishkumar Pandey
08/18/2021, 11:30 PM