所有,
我的团队最近遇到了使用带有HttpRequest参数的JsonConverter的障碍。
我的API方法定义如下
[HttpGet]
[GET("Values/Data/{inputString}/{inputDateTime:datetime}")]
public HttpResponseMessage GetResponseForData(string inputString, [JsonConverter(typeof(DateTimeToTicksConverter))] DateTime inputDateTime)
{
// do something here
}
DateTimeToTicksConverter
截取DateTime
属性,然后按定义进行转换。当此属性应用于模型的属性时,它工作得很好。然而,当该属性在上面的API中定义时,它不会在请求期间拦截。
我想知道期望JsonConverter
拦截请求参数是否有效?
这并不意味着在那里使用,该属性只是json.net在将类序列化为JSON时寻找的元数据,但webapi不知道它。
你可以使用自定义httpparameterbinding实现你想要的。你可以在这里找到更多信息http://www.asp.net/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api