diff --git a/src/generators/clean-arch.generator.ts b/src/generators/clean-arch.generator.ts index 82a1c8d..25bc013 100644 --- a/src/generators/clean-arch.generator.ts +++ b/src/generators/clean-arch.generator.ts @@ -123,6 +123,12 @@ export function buildTagsMapFromAnalysis( const hasQueryParams = (op.parameters || []).some((p) => p.in === 'query'); const hasBodyParam = !!op.requestBody; + // Sort: required params first, optional params last (TypeScript requirement) + allParams.sort((a, b) => { + if (a.required === b.required) return 0; + return a.required ? -1 : 1; + }); + tagsMap[tag].push({ nickname: op.operationId || `${method}${pathKey.replace(/\//g, '_')}`, summary: op.summary || '',