Vorbei DateTimeOffset als WebAPI-Abfrage-string

Ich habe eine WebAPI Aktion, die sieht so aus:

[Route("api/values/{id}")]
public async Task<HttpResponseMessage> Delete(string id, DateTimeOffset date) {
    //do stuff
}

Aber wenn ich das aufrufen dieses von einem HttpClient Instanz, sodass eine URL wie:

string.Format("http://localhost:1234/api/values/1?date={0}", System.Net.WebUtility.UrlEncode(DateTimeOffset.Now.ToString()));
//-> "http://localhost:1234/api/values/1?date=17%2F02%2F2015+7%3A18%3A39+AM+%2B11%3A00"

Bekomme ich eine 400 Antwort zurück zu sagen, dass die non-nullable-parameter date existiert nicht.

Habe ich auch versucht, indem die [FromUri] - Attribut auf den parameter, aber es immer noch nicht anzeigen durch. Wenn ich es ändern zu sein DateTimeOffset? ich es sehen kann, ist Links als null und betrachten Request.RequestUri.Query der Wert ist da, nur nicht abgebildet.

Schließlich versuchte ich nicht tun, eine WebUtility.UrlEncode und es machte es nicht anders.

InformationsquelleAutor Aaron Powell | 2015-02-16
Schreibe einen Kommentar