Explorar el Código

处理swagger api引用的输入输出类同名无法加载的问题

zhontai hace 3 años
padre
commit
6643178d9c

+ 10 - 0
Admin.Core.Service/Base/BaseService.cs

@@ -64,11 +64,21 @@ namespace Admin.Core.Service
             return reference;
         }
 
+        /// <summary>
+        /// 获得懒加载服务
+        /// </summary>
+        /// <typeparam name="TService">服务接口</typeparam>
+        /// <returns></returns>
         public virtual TService LazyGetRequiredService<TService>()
         {
             return (TService)LazyGetRequiredService(typeof(TService));
         }
 
+        /// <summary>
+        /// 根据服务类型获得懒加载服务
+        /// </summary>
+        /// <param name="serviceType">服务类型</param>
+        /// <returns></returns>
         public virtual object LazyGetRequiredService(Type serviceType)
         {
             return CachedServices.GetOrAdd(serviceType, () => ServiceProvider.GetRequiredService(serviceType));

+ 14 - 0
Admin.Core/Admin.Core.Service.xml

@@ -1828,6 +1828,20 @@
             日志
             </summary>
         </member>
+        <member name="M:Admin.Core.Service.BaseService.LazyGetRequiredService``1">
+            <summary>
+            获得懒加载服务
+            </summary>
+            <typeparam name="TService">服务接口</typeparam>
+            <returns></returns>
+        </member>
+        <member name="M:Admin.Core.Service.BaseService.LazyGetRequiredService(System.Type)">
+            <summary>
+            根据服务类型获得懒加载服务
+            </summary>
+            <param name="serviceType">服务类型</param>
+            <returns></returns>
+        </member>
         <member name="T:Admin.Core.Service.Personnel.Employee.EmployeeService">
             <summary>
             员工服务

+ 3 - 0
Admin.Core/Startup.cs

@@ -208,6 +208,9 @@ namespace Admin.Core
                         //c.OrderActionsBy(o => o.RelativePath);
                     });
 
+                    options.ResolveConflictingActions(apiDescription => apiDescription.First());
+                    options.CustomSchemaIds(x => x.FullName);
+
                     var xmlPath = Path.Combine(basePath, "Admin.Core.xml");
                     options.IncludeXmlComments(xmlPath, true);