public ApplicationApiDescriptionModel CreateModel() { var model = new ApplicationApiDescriptionModel(); foreach (var descriptionGroupItem in _descriptionProvider.ApiDescriptionGroups.Items) { foreach (var apiDescription in descriptionGroupItem.Items) { AddApiDescriptionToModel(apiDescription, model); } } return model; }
public ApplicationApiDescriptionModel CreateSubModel(string[] modules = null, string[] controllers = null, string[] actions = null) { var subModel = new ApplicationApiDescriptionModel(); foreach (var module in Modules.Values) { if (modules == null || modules.Contains(module.Name)) { subModel.AddModule(module.CreateSubModel(controllers, actions)); } } return(subModel); }
public ApplicationApiDescriptionModel CreateSubModel(string[] modules = null, string[] controllers = null, string[] actions = null) { var subModel = new ApplicationApiDescriptionModel(); foreach (var module in Modules.Values) { if (modules == null || modules.Contains(module.Name)) { subModel.AddModule(module.CreateSubModel(controllers, actions)); } } return subModel; }
public string CreateScript(ApplicationApiDescriptionModel model) { var script = new StringBuilder(); script.AppendLine("/* This file is automatically generated by ABP framework to use MVC Controllers from javascript. */"); script.AppendLine(); script.AppendLine("var abp = abp || {};"); script.AppendLine("abp.services = abp.services || {};"); foreach (var module in model.Modules.Values) { script.AppendLine(); AddModuleScript(script, module); } return script.ToString(); }
private void AddApiDescriptionToModel(ApiDescription apiDescription, ApplicationApiDescriptionModel model) { var moduleModel = model.GetOrAddModule(GetModuleName(apiDescription)); var controllerModel = moduleModel.GetOrAddController(apiDescription.GroupName); var method = apiDescription.ActionDescriptor.GetMethodInfo(); if (controllerModel.Actions.ContainsKey(method.Name)) { Logger.Warn($"Controller '{controllerModel.Name}' contains more than one action with name '{method.Name}' for module '{moduleModel.Name}'. Ignored: " + apiDescription.ActionDescriptor.GetMethodInfo()); return; } var actionModel = controllerModel.AddAction(new ActionApiDescriptionModel( method.Name, apiDescription.RelativePath, apiDescription.HttpMethod )); AddParameterDescriptionsToModel(actionModel, method, apiDescription); }