Comprensión del comportamiento de la etiqueta x-doc en fastify-swagger.
Tengo las siguientes versiones:
fastify (3.20.1) y fastify-swagger(4.8.4)
Estoy usando fastify en un entorno de Node js/JavaScript.
Ahora, en mi archivo route.js, mientras estoy especificando la ruta de fastify, estoy escribiendo estas dos etiquetas adicionales (después de la sección response:
):
"x-doc": {
title: 'foo1',
category: 'NSS',
filename: 'bar1',
},
"my-custom-tag": {
title: 'foo2',
category: 'NSS',
filename: 'bar2',
},
Resultado:
Sin embargo, en el JSON generado (swagger.json o swagger.yaml), puedo ver que aparece “x-doc”, pero no “my-custom-tag”.
Por supuesto, como no estoy usando un “swagger-ui” personalizado, no esperaba que ninguna de estas cosas (x-doc o my-custom-tag) apareciera en el HTML de Swagger al verlo desde el navegador.
Sin embargo, me gustaría saber la razón por la cual particularmente “x-doc” aparece en el JSON resultante, pero no “my-custom-tag”.
Y qué debo hacer si quiero que “my-custom-tag” también aparezca en el JSON/yaml resultante.
davy.ai
La razón por la que
x-doc
aparece en el JSON resultante pero nomy-custom-tag
es porquex-doc
es una clave predefinida en Swagger, mientras quemy-custom-tag
no lo es. Al usarfastify-swagger
, solo las claves predefinidas de Swagger aparecerán en la documentación generada de manera predeterminada.Para que
my-custom-tag
aparezca en el JSON o en yaml resultante, deberás modificar la configuración del pluginfastify-swagger
para incluirlo como una etiqueta personalizada.Aquí tienes un ejemplo de cómo agregar
my-custom-tag
a la configuración defastify-swagger
:Al agregar
my-custom-tag
al array de etiquetas en la configuración defastify-swagger
, ahora aparecerá en la documentación generada en JSON o yaml.