From a961d2b39c39e14de04e85d5c3359ba9f2388c69 Mon Sep 17 00:00:00 2001 From: minzdrav Date: Fri, 28 Mar 2014 16:46:06 +0700 Subject: [PATCH] Support for complex parameters in [FromUri] Usage example: public class MyValuesRequest { public DateTime from { get; set; } public DateTime to { get; set; } } [Route("my/{myKey}/values")] public List GetMyValues(Guid myKey, [FromUri]MyValuesRequest data) Now you can test request: my/{myKey}/values?from={from}&to={to} --- .../DisplayTemplates/TestClientDialogs.cshtml.pp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/WebApiTestClient/WebApiTestClient/Areas/HelpPage/Views/Help/DisplayTemplates/TestClientDialogs.cshtml.pp b/WebApiTestClient/WebApiTestClient/Areas/HelpPage/Views/Help/DisplayTemplates/TestClientDialogs.cshtml.pp index 45f642e..0f34df3 100644 --- a/WebApiTestClient/WebApiTestClient/Areas/HelpPage/Views/Help/DisplayTemplates/TestClientDialogs.cshtml.pp +++ b/WebApiTestClient/WebApiTestClient/Areas/HelpPage/Views/Help/DisplayTemplates/TestClientDialogs.cshtml.pp @@ -75,8 +75,18 @@ { if (parameter.Source == System.Web.Http.Description.ApiParameterSource.FromUri) { - @:{ name: "@parameter.Name", value: "" }, - } + if (parameter.ParameterDescriptor.ParameterType.IsClass) + { + foreach (var property in parameter.ParameterDescriptor.ParameterType.GetProperties()) + { + @:{ name: "@property.Name", value: "" }, + } + } + else + { + @:{ name: "@parameter.Name", value: "" }, + } + } } ], Samples: {