hapi-joi-to-schema-swagger
- Biblioteca para gerar os componentes swagger a partir de um validador @hapi/joi
Conteúdo
Instalação
- Para um projeto node
npm install --save hapi-to-schema-swagger
Configuração
- Importe a biblioteca em seu projeto e a configure:
// generateComponentSwagger.js const joiToSwagger = const Joi = const testSchema = Joiobject const commonSchema = Joiobject const config = apiPathComponent: './lib' fileName: '_definitions' fileExtension: 'yaml' const schemas = folderName: 'testSchema' schemas: testSchema const commonSchemas = commonSchema // Chamamos a função para gerar o arquivo
Package.json
- Configurar comando no package.json
Podemos também criar um script para ser chamado usando o npm, faça o seguinte no scripts de seu package.json
"scripts": "swagger-generator": "node ./utils/generateComponentSwagger.js"
Utilização
Função que gera o arquivo com os components swagger e salva no local indicado
Paramêtros da função:
/*** Configuração para geração do arquivo* @param { string } apiPathComponent Caminho onde serão salvos os arquivos* @param { string } fileName Nome do arquivo que será gerado* @param { string } fileExtension Extensão do arquivo*/const config = apiPathComponent fileName fileExtension /*** Lista com os schemas joi* @param { string } folderName Nome da pasta onde o arquivo será salvo* @param { object } schemas Objeto com todos os joi schemas referente aquela pasta */const schemas = folderName: 'suaPasta' schemas: seuSchema seuSchema2 ...espalharMaisUmMonte /*** Objeto contendo os schemas padrões que apareceram em todos os arquivos gerado */const commonSchemas = commonSchema
(No momento a lib da suporte apenas as versões >= 15.0.0 e <= 15.1.1 do @hapi/joi, então, para evitar problemas, fique atento em estar a utilizando em seus projetos.)