diff --git a/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiContentElement.cs b/src/Microsoft.OpenApi/Models/Interfaces/IOpenApiContentElement.cs
new file mode 100644
index 000000000..15dcd955e
--- /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 04c24b5b2..5f65c39b4 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.
@@ -57,10 +57,4 @@ public interface IOpenApiHeader : IOpenApiDescribedElement, IOpenApiReadOnlyExte
/// Examples of the media type.
///
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 312517acb..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 dfe1e1715..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 dfddd7838..07ef60f3d 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
+public interface IOpenApiResponse : IOpenApiDescribedElement, IOpenApiReadOnlyExtensible, IShallowCopyable, IOpenApiReferenceable, 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 8bb155f85..33f119e4d 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; }
@@ -90,7 +90,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);
@@ -167,7 +167,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 63b3735e2..0ea9ef57b 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; }
///
@@ -105,7 +113,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);
@@ -200,7 +208,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,
diff --git a/src/Microsoft.OpenApi/Models/OpenApiRequestBody.cs b/src/Microsoft.OpenApi/Models/OpenApiRequestBody.cs
index 8f4c1bd90..73d5e9a98 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; }
///
@@ -56,7 +59,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)
{
@@ -102,7 +105,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)
{
@@ -118,7 +121,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)
{
@@ -136,11 +139,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()
{
@@ -151,7 +154,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 6c1af10f1..4023efaf5 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? Description { get; set; }
@@ -61,7 +61,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);
@@ -153,7 +153,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 d0b8989ef..167896e37 100644
--- a/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
+++ b/test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt
@@ -106,6 +106,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; }
@@ -124,11 +128,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; }
@@ -145,11 +148,10 @@ namespace Microsoft.OpenApi
Microsoft.OpenApi.RuntimeExpressionAnyWrapper? RequestBody { get; }
Microsoft.OpenApi.OpenApiServer? Server { 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; }
@@ -166,6 +168,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; }
@@ -199,16 +205,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.IShallowCopyable
+ public interface IOpenApiResponse : 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; }
System.Collections.Generic.IDictionary? Headers { get; }
System.Collections.Generic.IDictionary? Links { get; }
}
@@ -736,7 +740,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; }
@@ -756,7 +760,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV3(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV31(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; }
@@ -941,7 +945,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV3(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV31(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; }
@@ -963,7 +967,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV3(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV31(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; }
@@ -1065,7 +1069,7 @@ namespace Microsoft.OpenApi
protected override void SerializeAdditionalV31Properties(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; }
@@ -1079,7 +1083,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV3(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV31(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; }
@@ -1093,7 +1097,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.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.IShallowCopyable
{
public OpenApiResponse() { }
public System.Collections.Generic.IDictionary? Content { get; set; }
@@ -1106,7 +1110,7 @@ namespace Microsoft.OpenApi
public virtual void SerializeAsV3(Microsoft.OpenApi.IOpenApiWriter writer) { }
public virtual void SerializeAsV31(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.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.IShallowCopyable
{
public OpenApiResponseReference(string referenceId, Microsoft.OpenApi.OpenApiDocument? hostDocument = null, string? externalResource = null) { }
public System.Collections.Generic.IDictionary? Content { get; }