nestjs / swagger

OpenAPI (Swagger) module for Nest framework (node.js) :earth_americas:
https://nestjs.com
MIT License
1.68k stars 471 forks source link

[discussion]: allow swagger-scanner deepScanRoutes to be recursive or go down an extra level #3102

Open raphaelroshan opened 1 week ago

raphaelroshan commented 1 week ago

Is there an existing issue that is already proposing this?

Is your feature request related to a problem? Please describe it

Swagger scanner does not support going more than one level down (with the deepScanRoutes option), and I would like for there to be an additional flag/ parameter that would allow it to scan 2 levels down, or recursively if possible.

Describe the solution you'd like

I would like to implement a recursiveScan flag that would allow Swagger to scan more than one level down, in the case of such consolidated apps. If this is against design decision, perhaps I would adapt the deepScan to accept a parameter of 1 (default) or 2, scanning an extra level down. This change would be implemented entirely in swagger-scanner.ts.

Teachability, documentation, adoption, migration strategy

I will adapt any existing swagger-scanner documentation and update it for this new change.

What is the motivation / use case for changing the behavior?

Swagger was a functional choice when we operated several microservices, as we only needed to deepScan one level down. Recently we have consolidated several microservices into an app, and as a result we need to scan an additional level down, which swagger does not currently support. To comply with the single level deepScan would require shifting all the routes up one level which would mess up the way the app is configured as a consolidation of sub-apps.

raphaelroshan commented 1 week ago

Ideally I would like to implement this so as to benefit the team I am working with, but I also recognise that this would be my first contribution to the nestjs repo so I appreciate any feedback/ suggestions/ improvements. Thank you!