I'm looking for the best way to disable programmatically the json-schema validation for all routes in a fastify instance:
module.exports = async (fastify, opts) => {
fastify.get('/stations.json', {schema: opts.schema}, async req => {
return {
...
};
});
}
this is a working way:
...global config definitions...
fastify.addHook('onRoute', route => {
if (config.validation === false && route.schema) {
route.schema = null
console.log('Route disable:',route.path)
}
})
The problem with this solution is that it breaks fastify swagger-ui, instead I what simply to disable the validation in routes, keeping the schema definition for each one.
I guess it could be done with the method: fastify.setValidatorCompiler()
but I'm not very clear how I could use it.
I would like to bypass executing validation functions in routes if possible, not just executing "empty functions".