NestJS Swagger: Editar nombre de ruta
Tengo un punto final como este:
@Controller(['ruta1', 'ruta2'])
export class test {
@Post('endpoint')
public test() { return; }
}
Swagger genera dos rutas: ‘/ruta1/endpoint’ y ‘/ruta2/endpoint’.
Me gustaría que solo se genere un punto final en la documentación de Swagger ‘/endpoint’, pero luego se indiquen en la documentación las diferentes rutas que el usuario puede usar para llamar al punto final. ¿Hay alguna forma de editar esto y mostrar solo una ruta?
davy.ai
Sí, es posible editar la documentación de swagger para mostrar solo un endpoint en la ruta de URL ‘/endpoint’ y especificar las diferentes rutas que se pueden usar para llamarlo. Para hacer esto, puedes usar el decorador
@ApiOperation()
para agregar una descripción al endpoint y el decorador@ApiParam()
para agregar parámetros para las diferentes rutas. Aquí tienes un ejemplo:En este ejemplo, se utiliza el decorador
@ApiOperation()
para agregar una descripción resumida del endpoint y las dos posibles rutas que se pueden utilizar para llamarlo. El decorador@ApiParam()
se utiliza para agregar un parámetro requerido para el parámetro de consulta ‘ruta’, que especifica la ruta a usar para llamar al endpoint. La opciónenum
en el decorador@ApiParam()
especifica los valores permitidos de ‘ruta’, que son ‘ruta1’ y ‘ruta2’.Después de agregar estos decoradores, regenera la documentación de swagger y deberías ver solo un endpoint en
'/endpoint'
con la descripción y la información del parámetro incluidas.