using Microsoft.Extensions.DependencyInjection;
using Panda.DynamicWebApi;

namespace IRaCIS.Core.API
{
    public  static class DynamicWebApiSetup
    {
        //20210910 避免冗余的控制器层代码编写，仅仅包了一层前后台定义的格式  这里采用动态webAPi+IResultFilter 替代大部分情况
        public static void AddDynamicWebApiSetup(this IServiceCollection services)
        {
            //动态webApi     目前存在的唯一小坑是生成api上服务上的动态代理AOP失效    间接掉用不影响
            services.AddDynamicWebApi(dynamicWebApiOption =>
            {
                //默认是 api
                dynamicWebApiOption.DefaultApiPrefix = "";
                //首字母小写
                dynamicWebApiOption.GetRestFulActionName = (actionName) => char.ToLower(actionName[0]) + actionName.Substring(1);
                //删除 Service后缀
                dynamicWebApiOption.RemoveControllerPostfixes.Add("Service");

            });
        }
    }
}
