public ApiServiceCallParameter(ApiServiceCall call, ParameterInfo info) { this.ServiceCall = call; this.Parameter = info; this.FromBody = info.GetCustomAttribute <FromBodyAttribute>(); this.FromUri = info.GetCustomAttribute <FromUriAttribute>(); String route = call.Route.Template ?? String.Empty; if (FromUri != null) { if (!route.Contains($"{{{Parameter.Name}}}")) { FromQueryString = FromUri; FromUri = null; } } else if (FromBody == null) { if (route.Contains(Parameter.Name)) { FromUri = new FromUriAttribute(); } else { FromBody = new FromBodyAttribute(); } } }
private void DiscoverRoutes() { var methods = ControllerType.GetMethods(); foreach (var mt in methods) { var routeAttr = mt.GetCustomAttribute <RouteAttribute>(); if (null == routeAttr) { continue; } ApiServiceCall call = new ApiServiceCall(this, mt); Calls.Add(call); } }