Contexto
Mejora derivada de la auditoría 3.1 (ver PR sngular#382).
Situación actual
Estas keywords se parsean pero se ignoran (caen en el default de ModelBuilder.addPropertiesToFieldObject). No rompen la generación, pero no se hace cumplir ninguna validación:
contains / minContains / maxContains (arrays)
propertyNames
unevaluatedProperties / unevaluatedItems
dependentRequired / dependentSchemas
if / then / else
Propuesta
Añadir soporte de validación al estilo del existente (Bean Validation con validadores custom):
- Nuevos campos en
SchemaFieldObjectProperties.
- Parseo en
addPropertiesToFieldObject.
- Nuevos pares de plantilla anotación+validador en
templates/customannotations/ (siguiendo el patrón de MaxItems, Size, etc.).
- Imports + anotaciones en
templateSchema.ftlh.
Priorizar contains/minContains/maxContains (los más accionables).
Impacto / esfuerzo
Impacto: medio (uso poco frecuente en specs OpenAPI). Esfuerzo: medio-alto (infraestructura de validadores nueva por keyword).
Contexto
Mejora derivada de la auditoría 3.1 (ver PR sngular#382).
Situación actual
Estas keywords se parsean pero se ignoran (caen en el
defaultdeModelBuilder.addPropertiesToFieldObject). No rompen la generación, pero no se hace cumplir ninguna validación:contains/minContains/maxContains(arrays)propertyNamesunevaluatedProperties/unevaluatedItemsdependentRequired/dependentSchemasif/then/elsePropuesta
Añadir soporte de validación al estilo del existente (Bean Validation con validadores custom):
SchemaFieldObjectProperties.addPropertiesToFieldObject.templates/customannotations/(siguiendo el patrón deMaxItems,Size, etc.).templateSchema.ftlh.Priorizar
contains/minContains/maxContains(los más accionables).Impacto / esfuerzo
Impacto: medio (uso poco frecuente en specs OpenAPI). Esfuerzo: medio-alto (infraestructura de validadores nueva por keyword).