/// <summary> /// 模板URL自动补全参数 /// </summary> /// <param name="tplUri"></param> /// <param name="request"></param> /// <returns></returns> protected static string mergeTplUri(string tplUri, YopRequest request) { string uri = tplUri; if (tplUri.IndexOf("{") < 0) { return(uri); } List <string> dynaParamNames = uriTemplateCache[tplUri]; if (dynaParamNames == null) { dynaParamNames = new List <string>(); dynaParamNames.Add(RegexUtil.GetResResult("\\{([^\\}]+)\\}", tplUri)); uriTemplateCache.Add(tplUri, dynaParamNames); } foreach (string dynaParamName in dynaParamNames) { string value = request.removeParam(dynaParamName); Assert.notNull(value, dynaParamName + " must be specified"); uri = uri.Replace("{" + dynaParamName + "}", value); } return(uri); }