From efa5b2ac8537c548a7691c089798b439768b5a19 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Fri, 1 Dec 2023 17:24:50 +0800 Subject: [PATCH] Sort the API Definition --- .../Mvc/AspNetCoreApiDescriptionModelProvider.cs | 2 ++ .../Abp/Http/Modeling/ApplicationApiDescriptionModel.cs | 7 ++++++- .../Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) 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 0a10835e3c..2bd64a0897 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 @@ -21,6 +21,7 @@ using Volo.Abp.DependencyInjection; using Volo.Abp.Http.Modeling; using Volo.Abp.Reflection; using Volo.Abp.Threading; +using System.Collections.Concurrent; namespace Volo.Abp.AspNetCore.Mvc; @@ -79,6 +80,7 @@ public class AspNetCoreApiDescriptionModelProvider : IApiDescriptionModelProvide } } + model.NormalizeOrder(); return model; } diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs index 03b3751125..399b7caa10 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs @@ -22,7 +22,7 @@ public class ApplicationApiDescriptionModel return new ApplicationApiDescriptionModel { Modules = new ConcurrentDictionary(), //TODO: Why ConcurrentDictionary? - Types = new Dictionary() + Types = new SortedDictionary() }; } @@ -55,4 +55,9 @@ public class ApplicationApiDescriptionModel return subModel; } + + public void NormalizeOrder() + { + Modules = Modules.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value); + } } diff --git a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs index 3a7607376c..00d762f826 100644 --- a/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs +++ b/framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs @@ -35,7 +35,7 @@ public class ModuleApiDescriptionModel { RootPath = rootPath, RemoteServiceName = remoteServiceName, - Controllers = new Dictionary() + Controllers = new SortedDictionary() }; }