Passing Complex Objects to ASP.NET Web API Using FromUri
<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>