系列化我們有多個API控制器接受像這樣的GET請求:補[FromUri]與APIController
//FooController
public IHttpActionResult Get([FromUri]Foo f);
//BarController
public IHttpActionResult Get([FromUri]Bar b);
現在 - 我們希望(或被迫)更改GET查詢字符串全球範圍內的DateTime字符串格式
"yyyy-MM-ddTHH:mm:ss" -> "yyyy-MM-ddTHH.mm.ss"
的變化都[FromUri]
序列化包含DateTime
類型的類失敗後。
有沒有辦法補充[FromUri]
序列化來接受查詢字符串中的DateTime格式?或者我們是否必須爲所有API參數構建自定義序列化以支持新的DateTime字符串格式?
編輯:例如根據要求
public class Foo {
public DateTime time {get; set;}
}
//FooController. Let's say route is api/foo
public IHttpActionResult Get([FromUri]Foo f);
GET api/foo?time=2017-01-01T12.00.00
HH.MM.SS - 點是cousing擴展問題。 http://stackoverflow.com/questions/20404254/encode-email-to-pass-to-web-api – levent
好吧,但那不是重點。假設您使用js,您可以將這些點替換爲 - – supertopi
,您可以先將日期時間值傳遞給控制器,然後encodeURIComponent。然後控制器將解碼並反序列化它。 – Woot