Browse Source

Sort the API Definition

pull/18327/head
liangshiwei 3 years ago
parent
commit
efa5b2ac85
  1. 2
      framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/AspNetCoreApiDescriptionModelProvider.cs
  2. 7
      framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs
  3. 2
      framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ModuleApiDescriptionModel.cs

2
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;
}

7
framework/src/Volo.Abp.Http/Volo/Abp/Http/Modeling/ApplicationApiDescriptionModel.cs

@ -22,7 +22,7 @@ public class ApplicationApiDescriptionModel
return new ApplicationApiDescriptionModel
{
Modules = new ConcurrentDictionary<string, ModuleApiDescriptionModel>(), //TODO: Why ConcurrentDictionary?
Types = new Dictionary<string, TypeApiDescriptionModel>()
Types = new SortedDictionary<string, TypeApiDescriptionModel>()
};
}
@ -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);
}
}

2
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<string, ControllerApiDescriptionModel>()
Controllers = new SortedDictionary<string, ControllerApiDescriptionModel>()
};
}

Loading…
Cancel
Save