MvcOptions 添加一个 IApplicationModelConvention 模块
options.Conventions.Add(new AbpAppServiceConvention(services));
AbpAppServiceConvention api定义类
默认如果没有给 AttributeRouteModel 可以重新设置他的请求地址这个也就是为什么我看到的 都是api开头的
可以设置modulename
Configuration.Modules.AbpAspNetCore().CreateControllersForAppServices()
private static AttributeRouteModel CreateAbpServiceAttributeRouteModel(string moduleName, string controllerName, ActionModel action)
{
return new AttributeRouteModel(
new RouteAttribute(
$"api/services/{moduleName}/{controllerName}/{action.ActionName}"
)
);
}
var partManager = services.GetSingletonServiceOrNull<ApplicationPartManager>();
partManager?.FeatureProviders.Add(new AbpAppServiceControllerFeatureProvider(iocResolver));
添加一个新的控制器识别类
继承IApplicationService 或者标识 RemoteServiceAttribute 都可以认为是一个控制器
AbpAppServiceControllerFeatureProvider 扩展控制器类