diff --git a/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj b/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
index defdfdd54..bcac9a7af 100644
--- a/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
+++ b/src/Microsoft.OpenApi.Readers/Microsoft.OpenApi.Readers.csproj
@@ -10,7 +10,7 @@
Microsoft
Microsoft.OpenApi.Readers
Microsoft.OpenApi.Readers
- 1.4.4
+ 1.4.5
OpenAPI.NET Readers for JSON and YAML documents
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
diff --git a/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj b/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj
index 50d026f91..a938a968f 100644
--- a/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj
+++ b/src/Microsoft.OpenApi/Microsoft.OpenApi.csproj
@@ -11,7 +11,7 @@
Microsoft
Microsoft.OpenApi
Microsoft.OpenApi
- 1.4.4
+ 1.4.5
.NET models with JSON and YAML writers for OpenAPI specification
© Microsoft Corporation. All rights reserved.
OpenAPI .NET
diff --git a/src/Microsoft.OpenApi/Validations/OpenApiValidator.cs b/src/Microsoft.OpenApi/Validations/OpenApiValidator.cs
index ba2ed4129..a0aee12e7 100644
--- a/src/Microsoft.OpenApi/Validations/OpenApiValidator.cs
+++ b/src/Microsoft.OpenApi/Validations/OpenApiValidator.cs
@@ -20,7 +20,7 @@ public class OpenApiValidator : OpenApiVisitorBase, IValidationContext
private readonly IList _warnings = new List();
///
- /// Create a vistor that will validate an OpenAPIDocument
+ /// Create a visitor that will validate an OpenAPIDocument
///
///
public OpenApiValidator(ValidationRuleSet ruleSet)
@@ -198,6 +198,100 @@ public void AddWarning(OpenApiValidatorWarning warning)
/// The object to be validated
public override void Visit(IList items) => Validate(items, items.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiPathItem item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiServerVariable item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiSecurityScheme item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiSecurityRequirement item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiRequestBody item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiPaths item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiLink item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiExample item) => Validate(item);
+
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(OpenApiOperation item) => Validate(item);
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+ ///
+ /// Execute validation rules against a
+ ///
+ /// The object to be validated
+ public override void Visit(IDictionary item) => Validate(item, item.GetType());
+
private void Validate(T item)
{
var type = typeof(T);
diff --git a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
index b8646cae5..9b4747312 100755
--- a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
+++ b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
@@ -1212,18 +1212,35 @@ namespace Microsoft.OpenApi.Validations
public override void Visit(Microsoft.OpenApi.Models.OpenApiContact item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiDocument item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiEncoding item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiExample item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiExternalDocs item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiHeader item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiInfo item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiLicense item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiLink item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiMediaType item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiOAuthFlow item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiOperation item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiParameter item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiPathItem item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiPaths item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiRequestBody item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiResponse item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiResponses item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiSchema item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiSecurityRequirement item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiSecurityScheme item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiServer item) { }
+ public override void Visit(Microsoft.OpenApi.Models.OpenApiServerVariable item) { }
public override void Visit(Microsoft.OpenApi.Models.OpenApiTag item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
+ public override void Visit(System.Collections.Generic.IDictionary item) { }
public override void Visit(System.Collections.Generic.IList items) { }
}
public class OpenApiValidatorError : Microsoft.OpenApi.Models.OpenApiError