diff --git a/CHANGELOG.md b/CHANGELOG.md index 958fa5fce4..a732d9914d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Fixed an issue where multipart request content would be ignored if other unstructured content was present in the description. [#5638](https://github.com/microsoft/kiota/issues/5638) - Fixed an issue where when generating Go code the deserializer for unions was using `CodeClass` as a filter and not `CodeInterface`. [#4844](https://github.com/microsoft/kiota/issues/4844) - Fixes mapping of `int16` format to the `integer` type rather than `double` when the type is `integer` or `number` [#5611](https://github.com/microsoft/kiota/issues/5611) - Fixes typing inconsistencies in generated code and libraries in Python [kiota-python#333](https://github.com/microsoft/kiota-python/issues/333) diff --git a/src/Kiota.Builder/Extensions/OpenApiOperationExtensions.cs b/src/Kiota.Builder/Extensions/OpenApiOperationExtensions.cs index aca62940e2..2ca1fd3009 100644 --- a/src/Kiota.Builder/Extensions/OpenApiOperationExtensions.cs +++ b/src/Kiota.Builder/Extensions/OpenApiOperationExtensions.cs @@ -41,7 +41,7 @@ internal static IEnumerable GetResponseSchemas(this OpenApiOperat return operation.RequestBody?.Content .GetValidSchemas(structuredMimeTypes).FirstOrDefault(); } - private static readonly StructuredMimeTypesCollection multipartMimeTypes = new(new string[] { "multipart/form-data" }); + private static readonly StructuredMimeTypesCollection multipartMimeTypes = new(["multipart/form-data"]); internal static bool IsMultipartFormDataSchema(this IDictionary source, StructuredMimeTypesCollection structuredMimeTypes) { return source.GetValidSchemas(structuredMimeTypes).FirstOrDefault() is OpenApiSchema schema && @@ -53,7 +53,7 @@ internal static bool IsMultipartTopMimeType(this IDictionary !multipartMimeTypes.Contains(x)).Any(structuredMimeTypes.Contains)) return true; return structuredMimeTypes.First() == multipartMimeTypes.First(); } internal static IEnumerable GetValidSchemas(this IDictionary source, StructuredMimeTypesCollection structuredMimeTypes) diff --git a/tests/Kiota.Builder.Tests/KiotaBuilderTests.cs b/tests/Kiota.Builder.Tests/KiotaBuilderTests.cs index 32123dcde3..aaf4e8d449 100644 --- a/tests/Kiota.Builder.Tests/KiotaBuilderTests.cs +++ b/tests/Kiota.Builder.Tests/KiotaBuilderTests.cs @@ -7603,6 +7603,16 @@ public async Task SupportsMultiPartFormAsRequestBodyWithDefaultMimeTypesAsync() post: requestBody: content: + text/csv: + schema: + type: object + properties: + file: + type: string, + format: binary + encoding: + file: + style: form multipart/form-data: schema: type: object