@@ -79,7 +79,7 @@ public void SerializeAsV3(IOpenApiWriter writer)
7979 // examples
8080 if ( Examples != null && Examples . Any ( ) )
8181 {
82- SerializeExamples ( writer , Examples ) ;
82+ writer . WriteOptionalMap ( OpenApiConstants . Examples , Examples , ( w , e ) => e . SerializeAsV3 ( w ) ) ;
8383 }
8484
8585 // encoding
@@ -98,33 +98,5 @@ public void SerializeAsV2(IOpenApiWriter writer)
9898 {
9999 // Media type does not exist in V2.
100100 }
101-
102- private static void SerializeExamples ( IOpenApiWriter writer , IDictionary < string , OpenApiExample > examples )
103- {
104- /* Special case for writing out empty arrays as valid response examples
105- * Check if there is any example with an empty array as its value and set the flag `hasEmptyArray` to true
106- * */
107- var hasEmptyArray = examples . Values . Any ( static example =>
108- example . Value is OpenApiArray arr && arr . Count == 0
109- ) ;
110-
111- if ( hasEmptyArray )
112- {
113- writer . WritePropertyName ( OpenApiConstants . Examples ) ;
114- writer . WriteStartObject ( ) ;
115- foreach ( var kvp in examples . Where ( static kvp => kvp . Value . Value is OpenApiArray arr && arr . Count == 0 ) )
116- {
117- writer . WritePropertyName ( kvp . Key ) ;
118- writer . WriteStartObject ( ) ;
119- writer . WriteRequiredObject ( OpenApiConstants . Value , kvp . Value . Value , ( w , v ) => w . WriteAny ( v ) ) ;
120- writer . WriteEndObject ( ) ;
121- }
122- writer . WriteEndObject ( ) ;
123- }
124- else
125- {
126- writer . WriteOptionalMap ( OpenApiConstants . Examples , examples , ( w , e ) => e . SerializeAsV3 ( w ) ) ;
127- }
128- }
129101 }
130102}
0 commit comments