import 'package:swagger_generator_flutter/validators/core/validation_context.dart'; import 'package:swagger_generator_flutter/validators/core/validation_result.dart'; import 'package:swagger_generator_flutter/validators/core/validation_rule.dart'; /// API 基本信息验证规则 class InfoValidationRule extends ValidationRule { @override String get id => 'info_validation'; @override String get name => 'API 基本信息验证'; @override ValidationResult validate(ValidationContext context) { final document = context.document; final errors = []; final warnings = []; if (document.title.isEmpty) { errors.add( const ValidationError( path: 'info.title', message: 'API 标题不能为空', type: ValidationErrorType.required, suggestion: '请提供有意义的 API 标题', ), ); } if (document.version.isEmpty) { errors.add( const ValidationError( path: 'info.version', message: 'API 版本不能为空', type: ValidationErrorType.required, suggestion: '请使用语义化版本号,如 "1.0.0"', ), ); } if (document.description.isEmpty) { warnings.add( const ValidationWarning( path: 'info.description', message: 'API 描述为空', suggestion: '建议添加 API 的详细描述', ), ); } return ValidationResult( isValid: errors.isEmpty, errors: errors, warnings: warnings, ); } }