如何根据Http消息的Content-Type为到达Web API服务的对象选择序列化格式?
例如,如果Content-Type为x-www-form-urlencoded
,我想将到达的文本反序列化为JSON。
答案 0 :(得分:0)
如果你想在你的WebApi方法中进行,那么你可以这样做。
switch(Request.Headers["Content-type"])
{
case "x-www-form-urlencoded":
{
//Use json deserializer
break;
}
case "xyz":
{
//Use xyz deserializer
break;
}
case "abc":
{
//Use abc deserializer
break;
}
default:
{
//Do nothing
break;
}
}
但是,如果要根据内容类型将参数反序列化为api方法,则需要使用自定义模型绑定器。 详细了解模式绑定器here