title: Passing Complex Objects to ASP.NET Web API Using FromUri
body: <p>I want to bind the URL parameters to my <code>Point</code> object using attribute routing and the <code>[FromUri]</code> attribute such that the following URL is possible:</p>
  
  <blockquote>
    <p>/foo-1,2</p>
  </blockquote>
  
  <pre><code>public IHttpActionResult PostFoo(
      [FromBody] string content,
      [FromUri] Point point)
  {
  }
  
  public class Point
  {
      public int A { get; set; }
      public int B { get; set; }
  
      // ...Other properties omitted for simplicity
  }
  </code></pre>
  
  <p>I have tried the following Route attributes but none of these work:</p>
  
  <pre><code>[Route("foo-{a},{b}")]
  [Route("foo-{A},{B}")]
  [Route("foo-{point.A},{point.B}")]
  </code></pre>
  
  <p>Note that I can't use query string parameters because a badly built third party service does not accept ampersands in their URL's (Yes it's that bad). So I'm trying to build all query string parameters into the URL itself.</p>