diff --git a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiContentElement.cs b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiContentElement.cs
new file mode 100644
index 000000000..15725d4fc
--- /dev/null
+++ b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiContentElement.cs
@@ -0,0 +1,27 @@
+using System.Collections.Generic;
+
+namespace Microsoft.OpenApi;
+
+///
+/// Describes an element that has content.
+///
+public interface IOpenApiContentElement
+{
+ ///
+ /// A map containing descriptions of potential payloads.
+ /// The key is a media type or media type range and the value describes it.
+ ///
+ IDictionary? Content { get; set; }
+}
+
+///
+/// Describes an element that has content.
+///
+public interface IOpenApiReadOnlyContentElement
+{
+ ///
+ /// A map containing descriptions of potential payloads.
+ /// The key is a media type or media type range and the value describes it.
+ ///
+ IDictionary? Content { get; }
+}
diff --git a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiHeader.cs b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiHeader.cs
index 55e484555..8104c72ed 100644
--- a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiHeader.cs
+++ b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiHeader.cs
@@ -8,7 +8,7 @@ namespace Microsoft.OpenApi;
/// Defines the base properties for the headers object.
/// This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
///
-public interface IOpenApiHeader : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable
+public interface IOpenApiHeader : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable, IOpenApiReadOnlyContentElement
{
///
/// Determines whether this header is mandatory.
@@ -58,9 +58,4 @@ public interface IOpenApiHeader : IOpenApiDescribedElement, IOpenApiReadOnlyExte
///
public IDictionary? Examples { get; }
- ///
- /// A map containing the representations for the header.
- ///
- public IDictionary? Content { get; }
-
}
diff --git a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiParameter.cs b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiParameter.cs
index 5669a0bb3..405d04fab 100644
--- a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiParameter.cs
+++ b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiParameter.cs
@@ -7,7 +7,7 @@ namespace Microsoft.OpenApi;
/// Defines the base properties for the parameter object.
/// This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
///
-public interface IOpenApiParameter : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable
+public interface IOpenApiParameter : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable, IOpenApiReadOnlyContentElement
{
///
/// REQUIRED. The name of the parameter. Parameter names are case sensitive.
@@ -93,15 +93,4 @@ public interface IOpenApiParameter : IOpenApiDescribedElement, IOpenApiReadOnlyE
/// Assign to use get null as a serialized value.
///
public JsonNode? Example { get; }
-
- ///
- /// A map containing the representations for the parameter.
- /// The key is the media type and the value describes it.
- /// The map MUST only contain one entry.
- /// For more complex scenarios, the content property can define the media type and schema of the parameter.
- /// A parameter MUST contain either a schema property, or a content property, but not both.
- /// When example or examples are provided in conjunction with the schema object,
- /// the example MUST follow the prescribed serialization strategy for the parameter.
- ///
- public IDictionary? Content { get; }
}
diff --git a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiRequestBody.cs b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiRequestBody.cs
index 5ab2f7174..2e722b0f5 100644
--- a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiRequestBody.cs
+++ b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiRequestBody.cs
@@ -6,18 +6,13 @@ namespace Microsoft.OpenApi;
/// Defines the base properties for the request body object.
/// This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
///
-public interface IOpenApiRequestBody : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable
+public interface IOpenApiRequestBody : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable, IOpenApiReadOnlyContentElement
{
///
/// Determines if the request body is required in the request. Defaults to false.
///
public bool Required { get; }
- ///
- /// REQUIRED. The content of the request body. The key is a media type or media type range and the value describes it.
- /// For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
- ///
- public IDictionary? Content { get; }
///
/// Converts the request body to a body parameter in preparation for a v2 serialization.
///
diff --git a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiResponse.cs b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiResponse.cs
index d0423771f..6823868f2 100644
--- a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiResponse.cs
+++ b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiResponse.cs
@@ -6,19 +6,13 @@ namespace Microsoft.OpenApi;
/// Defines the base properties for the response object.
/// This interface is provided for type assertions but should not be implemented by package consumers beyond automatic mocking.
///
-public interface IOpenApiResponse : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable, IOpenApiSummarizedElement
+public interface IOpenApiResponse : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable, IOpenApiSummarizedElement, IOpenApiReadOnlyContentElement
{
///
/// Maps a header name to its definition.
///
public IDictionary? Headers { get; }
- ///
- /// A map containing descriptions of potential response payloads.
- /// The key is a media type or media type range and the value describes it.
- ///
- public IDictionary? Content { get; }
-
///
/// A map of operations links that can be followed from the response.
/// The key of the map is a short name for the link,
diff --git a/src/Microsoft.OpenApi/Models/OpenApiHeader.cs b/src/Microsoft.OpenApi/Models/OpenApiHeader.cs
index 7e5ea273f..9ec42aa06 100644
--- a/src/Microsoft.OpenApi/Models/OpenApiHeader.cs
+++ b/src/Microsoft.OpenApi/Models/OpenApiHeader.cs
@@ -11,7 +11,7 @@ namespace Microsoft.OpenApi
/// Header Object.
/// The Header Object follows the structure of the Parameter Object.
///
- public class OpenApiHeader : IOpenApiHeader, IOpenApiExtensible
+ public class OpenApiHeader : IOpenApiHeader, IOpenApiExtensible, IOpenApiContentElement
{
///
public string? Description { get; set; }
@@ -98,7 +98,7 @@ public virtual void SerializeAsV3(IOpenApiWriter writer)
SerializeInternal(writer, OpenApiSpecVersion.OpenApi3_0, (writer, element) => element.SerializeAsV3(writer));
}
- internal void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version,
+ internal void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version,
Action callback)
{
Utils.CheckArgumentNull(writer);
@@ -175,7 +175,8 @@ public virtual void SerializeAsV2(IOpenApiWriter writer)
writer.WriteProperty(OpenApiConstants.AllowReserved, AllowReserved, false);
// schema
- var targetSchema = Schema switch {
+ var targetSchema = Schema switch
+ {
OpenApiSchemaReference schemaReference => schemaReference.RecursiveTarget,
OpenApiSchema schema => schema,
_ => null,
diff --git a/src/Microsoft.OpenApi/Models/OpenApiParameter.cs b/src/Microsoft.OpenApi/Models/OpenApiParameter.cs
index d6b060a78..14294cbd8 100644
--- a/src/Microsoft.OpenApi/Models/OpenApiParameter.cs
+++ b/src/Microsoft.OpenApi/Models/OpenApiParameter.cs
@@ -11,7 +11,7 @@ namespace Microsoft.OpenApi
///
/// Parameter Object.
///
- public class OpenApiParameter : IOpenApiExtensible, IOpenApiParameter
+ public class OpenApiParameter : IOpenApiExtensible, IOpenApiParameter, IOpenApiContentElement
{
private bool? _explode;
private ParameterStyle? _style;
@@ -60,7 +60,15 @@ public bool Explode
///
public JsonNode? Example { get; set; }
- ///
+ ///
+ /// A map containing the representations for the parameter.
+ /// The key is the media type and the value describes it.
+ /// The map MUST only contain one entry.
+ /// For more complex scenarios, the content property can define the media type and schema of the parameter.
+ /// A parameter MUST contain either a schema property, or a content property, but not both.
+ /// When example or examples are provided in conjunction with the schema object,
+ /// the example MUST follow the prescribed serialization strategy for the parameter.
+ ///
public IDictionary? Content { get; set; }
///
@@ -111,11 +119,11 @@ public virtual void SerializeAsV3(IOpenApiWriter writer)
SerializeInternal(writer, OpenApiSpecVersion.OpenApi3_0, (writer, element) => element.SerializeAsV3(writer));
}
- internal void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version,
+ internal void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version,
Action callback)
{
Utils.CheckArgumentNull(writer);
-
+
// Validate that Cookie style is only used in OpenAPI 3.2 and later
if (Style == ParameterStyle.Cookie && version < OpenApiSpecVersion.OpenApi3_2)
{
@@ -226,7 +234,8 @@ internal virtual void WriteRequestBodySchemaForV2(IOpenApiWriter writer, Diction
// uniqueItems
// enum
// multipleOf
- var targetSchema = Schema switch {
+ var targetSchema = Schema switch
+ {
OpenApiSchemaReference schemaReference => schemaReference.RecursiveTarget,
OpenApiSchema schema => schema,
_ => null,
@@ -271,7 +280,7 @@ internal virtual void WriteRequestBodySchemaForV2(IOpenApiWriter writer, Diction
public virtual void SerializeAsV2(IOpenApiWriter writer)
{
Utils.CheckArgumentNull(writer);
-
+
// Validate that Cookie style is only used in OpenAPI 3.2 and later
if (Style == ParameterStyle.Cookie)
{
diff --git a/src/Microsoft.OpenApi/Models/OpenApiRequestBody.cs b/src/Microsoft.OpenApi/Models/OpenApiRequestBody.cs
index fa29d3ea0..225837544 100644
--- a/src/Microsoft.OpenApi/Models/OpenApiRequestBody.cs
+++ b/src/Microsoft.OpenApi/Models/OpenApiRequestBody.cs
@@ -10,7 +10,7 @@ namespace Microsoft.OpenApi
///
/// Request Body Object
///
- public class OpenApiRequestBody : IOpenApiExtensible, IOpenApiRequestBody
+ public class OpenApiRequestBody : IOpenApiExtensible, IOpenApiRequestBody, IOpenApiContentElement
{
///
public string? Description { get; set; }
@@ -18,7 +18,10 @@ public class OpenApiRequestBody : IOpenApiExtensible, IOpenApiRequestBody
///
public bool Required { get; set; }
- ///
+ ///
+ /// REQUIRED. The content of the request body. The key is a media type or media type range and the value describes it.
+ /// For requests that match multiple keys, only the most specific key is applicable. e.g. text/plain overrides text/*
+ ///
public IDictionary? Content { get; set; }
///
@@ -64,7 +67,7 @@ public virtual void SerializeAsV3(IOpenApiWriter writer)
{
SerializeInternal(writer, OpenApiSpecVersion.OpenApi3_0, (writer, element) => element.SerializeAsV3(writer));
}
-
+
internal void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version,
Action callback)
{
@@ -110,7 +113,7 @@ public IOpenApiParameter ConvertToBodyParameter(IOpenApiWriter writer)
Extensions = Extensions?.ToDictionary(static k => k.Key, static v => v.Value)
};
// Clone extensions so we can remove the x-bodyName extensions from the output V2 model.
- if (bodyParameter.Extensions is not null &&
+ if (bodyParameter.Extensions is not null &&
bodyParameter.Extensions.TryGetValue(OpenApiConstants.BodyName, out var bodyNameExtension) &&
bodyNameExtension is JsonNodeExtension bodyName)
{
@@ -126,7 +129,7 @@ public IEnumerable ConvertToFormDataParameters(IOpenApiWriter
if (Content == null || !Content.Any())
yield break;
var properties = Content.First().Value.Schema?.Properties;
- if(properties != null)
+ if (properties != null)
{
foreach (var property in properties)
{
@@ -144,11 +147,11 @@ public IEnumerable ConvertToFormDataParameters(IOpenApiWriter
OpenApiSchemaReference => throw new InvalidOperationException("Unresolved reference target"),
_ => throw new InvalidOperationException("Unexpected schema type")
};
-
+
updatedSchema.Type = "file".ToJsonSchemaType();
updatedSchema.Format = null;
paramSchema = updatedSchema;
-
+
}
yield return new OpenApiFormDataParameter()
{
@@ -159,7 +162,7 @@ public IEnumerable ConvertToFormDataParameters(IOpenApiWriter
Required = Content.First().Value.Schema?.Required?.Contains(property.Key) ?? false
};
}
- }
+ }
}
///
diff --git a/src/Microsoft.OpenApi/Models/OpenApiResponse.cs b/src/Microsoft.OpenApi/Models/OpenApiResponse.cs
index 4ee39336e..6cc0000df 100644
--- a/src/Microsoft.OpenApi/Models/OpenApiResponse.cs
+++ b/src/Microsoft.OpenApi/Models/OpenApiResponse.cs
@@ -10,7 +10,7 @@ namespace Microsoft.OpenApi
///
/// Response object.
///
- public class OpenApiResponse : IOpenApiExtensible, IOpenApiResponse
+ public class OpenApiResponse : IOpenApiExtensible, IOpenApiResponse, IOpenApiContentElement
{
///
public string? Summary { get; set; }
@@ -73,7 +73,7 @@ public virtual void SerializeAsV3(IOpenApiWriter writer)
SerializeInternal(writer, OpenApiSpecVersion.OpenApi3_0, (writer, element) => element.SerializeAsV3(writer));
}
- private void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version,
+ private void SerializeInternal(IOpenApiWriter writer, OpenApiSpecVersion version,
Action callback)
{
Utils.CheckArgumentNull(writer);
@@ -177,7 +177,7 @@ public virtual void SerializeAsV2(IOpenApiWriter writer)
// so remove it from the cloned collection so we don't write it again.
extensionsClone?.Remove(key);
}
- }
+ }
}
}
diff --git a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
index 6a8ad3955..8ba59ce26 100644
--- a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
+++ b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
@@ -109,6 +109,10 @@ namespace Microsoft.OpenApi
{
System.Collections.Generic.Dictionary? PathItems { get; }
}
+ public interface IOpenApiContentElement
+ {
+ System.Collections.Generic.IDictionary? Content { get; set; }
+ }
public interface IOpenApiDescribedElement : Microsoft.OpenApi.IOpenApiElement
{
string? Description { get; set; }
@@ -129,11 +133,10 @@ namespace Microsoft.OpenApi
{
void Write(Microsoft.OpenApi.IOpenApiWriter writer, Microsoft.OpenApi.OpenApiSpecVersion specVersion);
}
- public interface IOpenApiHeader : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public interface IOpenApiHeader : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
bool AllowEmptyValue { get; }
bool AllowReserved { get; }
- System.Collections.Generic.IDictionary? Content { get; }
bool Deprecated { get; }
System.Text.Json.Nodes.JsonNode? Example { get; }
System.Collections.Generic.IDictionary? Examples { get; }
@@ -160,11 +163,10 @@ namespace Microsoft.OpenApi
System.Collections.Generic.IList? PrefixEncoding { get; }
Microsoft.OpenApi.IOpenApiSchema? Schema { get; }
}
- public interface IOpenApiParameter : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public interface IOpenApiParameter : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
bool AllowEmptyValue { get; }
bool AllowReserved { get; }
- System.Collections.Generic.IDictionary? Content { get; }
bool Deprecated { get; }
System.Text.Json.Nodes.JsonNode? Example { get; }
System.Collections.Generic.IDictionary? Examples { get; }
@@ -181,6 +183,10 @@ namespace Microsoft.OpenApi
System.Collections.Generic.IList? Parameters { get; }
System.Collections.Generic.IList? Servers { get; }
}
+ public interface IOpenApiReadOnlyContentElement
+ {
+ System.Collections.Generic.IDictionary? Content { get; }
+ }
public interface IOpenApiReadOnlyDescribedElement : Microsoft.OpenApi.IOpenApiElement
{
string? Description { get; }
@@ -214,16 +220,14 @@ namespace Microsoft.OpenApi
U CopyReferenceAsTargetElementWithOverrides(U source);
}
public interface IOpenApiReferenceable : Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiSerializable { }
- public interface IOpenApiRequestBody : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public interface IOpenApiRequestBody : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
- System.Collections.Generic.IDictionary? Content { get; }
bool Required { get; }
Microsoft.OpenApi.IOpenApiParameter? ConvertToBodyParameter(Microsoft.OpenApi.IOpenApiWriter writer);
System.Collections.Generic.IEnumerable? ConvertToFormDataParameters(Microsoft.OpenApi.IOpenApiWriter writer);
}
- public interface IOpenApiResponse : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IOpenApiSummarizedElement, Microsoft.OpenApi.IShallowCopyable
+ public interface IOpenApiResponse : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IOpenApiSummarizedElement, Microsoft.OpenApi.IShallowCopyable
{
- System.Collections.Generic.IDictionary? Content { get; }
System.Collections.Generic.IDictionary? Headers { get; }
System.Collections.Generic.IDictionary? Links { get; }
}
@@ -787,7 +791,7 @@ namespace Microsoft.OpenApi
public static Microsoft.OpenApi.OpenApiUrlTreeNode CreateOpenApiUrlTreeNode(System.Collections.Generic.Dictionary sources) { }
public static System.Func CreatePredicate(string? operationIds = null, string? tags = null, System.Collections.Generic.Dictionary>? requestUrls = null, Microsoft.OpenApi.OpenApiDocument? source = null) { }
}
- public class OpenApiHeader : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiHeader, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiHeader : Microsoft.OpenApi.IOpenApiContentElement, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiHeader, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiHeader() { }
public bool AllowEmptyValue { get; set; }
@@ -808,7 +812,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV31(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV32(Microsoft.OpenApi.IOpenApiWriter writer) { }
}
- public class OpenApiHeaderReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiHeader, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiHeaderReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiHeader, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiHeaderReference(string referenceId, Microsoft.OpenApi.OpenApiDocument? hostDocument = null, string? externalResource = null) { }
public bool AllowEmptyValue { get; }
@@ -1023,7 +1027,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV31(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV32(Microsoft.OpenApi.IOpenApiWriter writer) { }
}
- public class OpenApiParameter : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiParameter, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiParameter : Microsoft.OpenApi.IOpenApiContentElement, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiParameter, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiParameter() { }
public bool AllowEmptyValue { get; set; }
@@ -1046,7 +1050,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV31(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV32(Microsoft.OpenApi.IOpenApiWriter writer) { }
}
- public class OpenApiParameterReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiParameter, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiParameterReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiParameter, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiParameterReference(string referenceId, Microsoft.OpenApi.OpenApiDocument? hostDocument = null, string? externalResource = null) { }
public bool AllowEmptyValue { get; }
@@ -1151,7 +1155,7 @@ namespace Microsoft.OpenApi
protected override void SerializeAdditionalV32Properties(Microsoft.OpenApi.IOpenApiWriter writer) { }
protected override void SetAdditional31MetadataFromMapNode(System.Text.Json.Nodes.JsonObject jsonObject) { }
}
- public class OpenApiRequestBody : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiRequestBody, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiRequestBody : Microsoft.OpenApi.IOpenApiContentElement, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiRequestBody, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiRequestBody() { }
public System.Collections.Generic.IDictionary? Content { get; set; }
@@ -1166,7 +1170,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV31(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV32(Microsoft.OpenApi.IOpenApiWriter writer) { }
}
- public class OpenApiRequestBodyReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiRequestBody, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiRequestBodyReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiRequestBody, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiRequestBodyReference(string referenceId, Microsoft.OpenApi.OpenApiDocument? hostDocument = null, string? externalResource = null) { }
public System.Collections.Generic.IDictionary? Content { get; }
@@ -1180,7 +1184,7 @@ namespace Microsoft.OpenApi
public Microsoft.OpenApi.IOpenApiRequestBody CreateShallowCopy() { }
public override void SerializeAsV2(Microsoft.OpenApi.IOpenApiWriter writer) { }
}
- public class OpenApiResponse : Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiResponse, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IOpenApiSummarizedElement, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiResponse : Microsoft.OpenApi.IOpenApiContentElement, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiExtensible, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiResponse, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IOpenApiSummarizedElement, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiResponse() { }
public System.Collections.Generic.IDictionary? Content { get; set; }
@@ -1195,7 +1199,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV31(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV32(Microsoft.OpenApi.IOpenApiWriter writer) { }
}
- public class OpenApiResponseReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiResponse, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IOpenApiSummarizedElement, Microsoft.OpenApi.IShallowCopyable
+ public class OpenApiResponseReference : Microsoft.OpenApi.BaseOpenApiReferenceHolder, Microsoft.OpenApi.IOpenApiDescribedElement, Microsoft.OpenApi.IOpenApiElement, Microsoft.OpenApi.IOpenApiReadOnlyContentElement, Microsoft.OpenApi.IOpenApiReadOnlyExtensible, Microsoft.OpenApi.IOpenApiReferenceable, Microsoft.OpenApi.IOpenApiResponse, Microsoft.OpenApi.IOpenApiSerializable, Microsoft.OpenApi.IOpenApiSummarizedElement, Microsoft.OpenApi.IShallowCopyable
{
public OpenApiResponseReference(string referenceId, Microsoft.OpenApi.OpenApiDocument? hostDocument = null, string? externalResource = null) { }
public System.Collections.Generic.IDictionary? Content { get; }