private void ConfigureArea(ControllerModel controller, DynamicWebApiAttribute attr) { if (attr == null) { throw new ArgumentException(nameof(attr)); } if (!controller.RouteValues.ContainsKey("area")) { if (!string.IsNullOrEmpty(attr.Module)) { controller.RouteValues["area"] = attr.Module; } else if (!string.IsNullOrEmpty(AppConsts.DefaultAreaName)) { controller.RouteValues["area"] = AppConsts.DefaultAreaName; } } }
private void ConfigureSelector(ControllerModel controller, DynamicWebApiAttribute controllerAttr) { if (controller.Selectors.Any(selector => selector.AttributeRouteModel != null)) { return; } var areaName = string.Empty; if (controllerAttr != null) { areaName = controllerAttr.Module; } foreach (var action in controller.Actions) { if (!CheckNoMapMethod(action)) { ConfigureSelector(areaName, controller.ControllerName, action); } } }
private void ConfigureDynamicWebApi(ControllerModel controller, DynamicWebApiAttribute controllerAttr) { ConfigureApiExplorer(controller); ConfigureSelector(controller, controllerAttr); ConfigureParameters(controller); }