Open5
.NET 9で自動生成したOpenAPIドキュメントにスキーマが重複して生成される

ASP.NET Coreで
builder.Services.AddOpenApi();
app.MapOpenApi();
を使って生成した
/openapi/v1.json
での問題。
同じクラスであるのにかかわらず重複してモデルが定義される。
"components": {
"schemas": {
"ApplicationUser": {
"type": "object",
},
"ApplicationUser2": {
"type": "object",
},
"ApplicationUser3": {
"type": "object",
},
"ApplicationUser4": {
"type": "object",
},
}
}

結論
.NET 9.0.2で直る(予定らしい)

問題のあるバージョン
PS C:\> dotnet --version
9.0.102
GitHubのIssue

回避策になるかと思ったが、手元の症状は改善しなかった。
ジェネリクスなListとかには効果ないのかも?
builder.Services.AddOpenApi(options =>
{
options.AddSchemaTransformer((schema, context, cancellationToken) =>
{
if (schema.Properties is not null)
{
foreach (var property in schema.Properties)
{
if (schema.Required?.Contains(property.Key) != true)
{
property.Value.Nullable = false;
}
}
}
return Task.CompletedTask;
});
});

気付いた理由はopenapi-generator-cli
を使ってみたくて
openapi-generator-cli generate -g typescript-fetch -i http://localhost:5046/openapi/v1.json
を実行したら以下のエラーが出たので。
[main] WARN o.o.codegen.utils.ModelUtils - #/components/schemas/#/items is not defined
[main] WARN o.o.codegen.utils.ModelUtils - #/components/schemas/#/items is not defined
[main] WARN o.o.codegen.utils.ModelUtils - #/components/schemas/#/items is not defined
[main] WARN o.o.codegen.utils.ModelUtils - #/components/schemas/#/items is not defined
[main] WARN o.o.codegen.utils.ModelUtils - #/components/schemas/#/items is not defined
[main] WARN o.o.codegen.utils.ModelUtils - #/components/schemas/#/items is not defined
[main] WARN o.o.codegen.utils.ModelUtils - #/components/schemas/#/items is not defined