public ApiActionMeta GetApiAction(string groupName, string actionName) { if (actionName == null) { throw new ArgumentNullException(nameof(actionName)); } ApiGroupMeta apiGroup = GetApiGroup(groupName).FirstOrDefault(); if (apiGroup == null) { throw new InvalidOperationException( $"The controller group name of: {groupName} was not configured."); } ApiActionMeta apiAction = apiGroup.Actions.FirstOrDefault( a => a.ActionName == actionName); if (apiAction == null) { throw new InvalidOperationException( $"The controller action named: {actionName} for controller group: {groupName} is not configured."); } return(apiAction); }
private static IDictionary <string, ActionInfo> GetActions(ApiGroupMeta group) { return(group.Actions.ToDictionary(a => a.ActionName, a => new ActionInfo { Name = a.ActionName, Method = a.HttpMethod, Path = a.RelativePath, Parameters = GetParameters(a).ToArray() })); }