Comment POSTER une valeur de type DateTime à une API Web 2 contrôleur

J'ai un exemple de contrôleur:

[RoutePrefix("api/Example")]
public class ExampleController : ApiController
{
    [Route("Foo")]
    [HttpGet]
    public string Foo([FromUri] string startDate)
    {
        return "This is working";
    }

    [Route("Bar")]
    [HttpPost]
    public string Bar([FromBody] DateTime startDate)
    {
        return "This is not working";
    }
}

Quand je l'envoi d'une requête GET: http://localhost:53456/api/Example/Foo?startDate=2016-01-01 il fonctionne.

Quand je POSTE à http://localhost:53456/api/Example/Bar je reçois un HTTP/1.1 400 Bad Request erreur.

C'est mon POST de données:

{
"startDate":"2016-01-01T00:00:00.0000000-00:00"
}

Ce que je fais mal?

Comment êtes-vous ce détachement ? Pouvez-vous partager le code ?
C'est en gros tout le code (voir Igor réponse ci-dessous). J'ai eu de travail

OriginalL'auteur Pierre Nortje | 2016-08-17