From 5405171804def7565994d30ca09df153c7b22091 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 10 Feb 2022 16:10:35 +0800 Subject: [PATCH] Remove duplicate controller in `api-definition`. --- .../Mvc/AspNetCoreApiDescriptionModelProvider.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs index 793ad22282..2d561fd484 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs @@ -64,6 +64,15 @@ public class AspNetCoreApiDescriptionModelProvider : IApiDescriptionModelProvide } } + foreach (var (moduleName, module) in model.Modules) + { + var controllers = module.Controllers.GroupBy(x => x.Value.Type).ToList(); + foreach (var controller in controllers.Where(x => x.Count() > 1)) + { + module.Controllers.RemoveAll(x => controller.OrderBy(c => c.Value.Type).Skip(1).Contains(x)); + } + } + return model; }