Skip to content

Commit 0bb3606

Browse files
Per Kopsperkops
authored andcommitted
fix(minimal): ensure dictionaries are handled properly when generating models
1 parent 9711965 commit 0bb3606

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/Atc.Rest.ApiGenerator.Framework/Factories/Parameters/ServerClient/ContentGeneratorServerClientModelParametersFactory.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,10 +447,29 @@ private static List<ParameterBaseParameters> ExtractRecordParameterBaseParameter
447447
}
448448

449449
dataType ??= openApiParameter.Items.GetDataType();
450+
451+
if ("Object".Equals(dataType, StringComparison.Ordinal))
452+
{
453+
dataType = "object";
454+
}
450455
}
451456
else
452457
{
453458
dataType = openApiParameter.GetDataType();
459+
460+
if ("Object".Equals(dataType, StringComparison.Ordinal))
461+
{
462+
if (openApiParameter.AdditionalProperties is not null)
463+
{
464+
// A defined Object with AdditionalProperties is a Dictionary - https://swagger.io/docs/specification/data-models/dictionaries/
465+
var additionalPropertiesDataType = openApiParameter.AdditionalProperties.GetDataType();
466+
dataType = $"Dictionary<string, {additionalPropertiesDataType}>";
467+
}
468+
else
469+
{
470+
dataType = "object";
471+
}
472+
}
454473
}
455474

456475
var isSimpleType = useListForDataType

0 commit comments

Comments
 (0)