title: WebApi - UrlHelper.Route to GET with [FromUri] object parameter
body: <p>I have an API action defined as the following:</p>
  
  <pre><code> [Route(Name="GetMembersTest"), HttpGet, ResponseType(typeof(MemberHeadersDto))]
   public IHttpActionResult GetMembers[FromUri]MemberFilterDto filter, [FromUri]PagingOptionsDto paging)
  </code></pre>
  
  <p>This method works as expected, routing and all, requests are flowing through just fine.  However, I'd like to supply a "NextUri" for paging so that the caller can just keep following NextUri until it is null to get all the results.  I have to send back a uri to the same action, 1 page ahead, if that makes sense.</p>
  
  <p>So I tried using UrlHelper.Route.  This route is named "GetMembers" for the purpose of this example.</p>
  
  <pre><code>NextUri = Url.Route("GetMembers", new { filter, paging });
  </code></pre>
  
  <p>The problem is that instead of getting something like </p>
  
  <pre><code>/v1/members?filter.q=&amp;filter.otherproperty=&amp;paging.count=10&amp;paging.startRow=11   
  </code></pre>
  
  <p>I get </p>
  
  <pre><code>/v1/members?filter=WebApi.Models.MemberFilterDto&amp;paging=WebApi.Models.PagingOptionsDto
  </code></pre>
  
  <p>It looks like UrlHelper.Route doesn't support complex types in the [FromUri] parameter of a GET Request.   Is there anything I can do to get this functionality?  My workaround right now is to take in all the Dto properties as individual parameters then build my Dtos from them on the server.  This isn't ideal because if I ever add any more options I'd have to add more parameters to the action, which also makes the route value dictionary more fragile as well because it has to match with the method signature in UrlHelper.Route(routeName,routeValues).</p>