OpenAPI.NET icon indicating copy to clipboard operation
OpenAPI.NET copied to clipboard

Examples are missing after converting V3 swagger to V2

Open TinaLiu02 opened this issue 2 years ago • 5 comments

Bug: we need to convert V3 swagger to V2 and transform the examples, but examples part in request/responses/components are missing after converting V3 swagger to V2. v3 swagger file: https://github.com/linkedin-developers/job-posting-development-tools/blob/master/OpenAPI-specification/job_posting_v2.yaml

To Reproduce Steps to reproduce the current behavior:

  1. run project Microsoft.OpenApi.Workbench
  2. copy the content of v3 swagger file and paste it to "input content" area
  3. choose JSON for Format, choose V2.0 for Version and click button "Convert"

Expected behavior examples should display in V2 swagger.

Screenshots/Code Snippets stack trace:

Microsoft.OpenApi.dll!Microsoft.OpenApi.Models.OpenApiDocument.SerializeAsV2(Microsoft.OpenApi.Writers.IOpenApiWriter writer) Line 143 C# Microsoft.OpenApi.dll!Microsoft.OpenApi.Extensions.OpenApiSerializableExtensions.Serialize<Microsoft.OpenApi.Models.OpenApiDocument>(Microsoft.OpenApi.Models.OpenApiDocument element, Microsoft.OpenApi.Writers.IOpenApiWriter writer, Microsoft.OpenApi.OpenApiSpecVersion specVersion) Line 125 C# Microsoft.OpenApi.dll!Microsoft.OpenApi.Extensions.OpenApiSerializableExtensions.Serialize<Microsoft.OpenApi.Models.OpenApiDocument>(Microsoft.OpenApi.Models.OpenApiDocument element, System.IO.Stream stream, Microsoft.OpenApi.OpenApiSpecVersion specVersion, Microsoft.OpenApi.OpenApiFormat format, Microsoft.OpenApi.Writers.OpenApiWriterSettings settings) Line 94 C# Microsoft.OpenApi.Workbench.dll!Microsoft.OpenApi.Workbench.MainModel.WriteContents(Microsoft.OpenApi.Models.OpenApiDocument document) Line 312 C# Microsoft.OpenApi.Workbench.dll!Microsoft.OpenApi.Workbench.MainModel.ParseDocument() Line 279 C# Microsoft.OpenApi.Workbench.dll!Microsoft.OpenApi.Workbench.MainWindow.Button_Click(object sender, System.Windows.RoutedEventArgs e) Line 26 C#

screenshot: image

image

TinaLiu02 avatar Oct 14 '23 09:10 TinaLiu02

Unfortunately there is no support for multiple examples for body parameters in OpenAPI v2. We could carry the examples though to the V2 document as an extension. e.g. x-examples Would that address your need?

darrelmiller avatar Oct 20 '23 14:10 darrelmiller

yes. that would be great.

TinaLiu02 avatar Oct 23 '23 06:10 TinaLiu02

We need to add serializing of the examples map to x-examples here https://github.com/microsoft/OpenAPI.NET/blob/05c56159eaed252744ed3a77aef0a6cc8351e31c/src/Microsoft.OpenApi/Models/OpenApiResponse.cs#L187

darrelmiller avatar Nov 28 '23 14:11 darrelmiller

@MaggieKimani1 Why is this a breaking change? Could this not be implemented in the current V1.x branch?

darrelmiller avatar Jan 18 '24 15:01 darrelmiller

@MaggieKimani1 Why is this a breaking change? Could this not be implemented in the current V1.x branch?

You're right, this isn't a breaking change. I have rebased the branch onto vnext so that this goes out with the next v1.x release.

MaggieKimani1 avatar Jan 23 '24 12:01 MaggieKimani1