我正在使用Fiddler来编写对我的Web API服务的调用。电话正在通过,我正在控制器中调试它。但是,Request.Content.Headers.ContentType
为null
。但是,当我检查对象时,我可以看到Content-Type: application/xml;
,如下所示:
?Request.Content.Headers
{Content-Length: 40039
Content-Type: application/xml;
}
base {System.Net.Http.Headers.HttpHeaders}: {Content-Length: 40039
Content-Type: application/xml;
}
Allow: {}
ContentDisposition: null
ContentEncoding: {}
ContentLanguage: {}
ContentLength: 40039
ContentLocation: null
ContentMD5: null
ContentRange: null
ContentType: null
Expires: null
LastModified: null
我需要做些什么才能检查ContentType
值并填充它?
编辑:以下是我的Post方法的方法签名:
public HttpResponseMessage Post(MyMethodDTO message)
MyMethodDTO
只是一个简单的DTO类,其getter / setter是所有字符串。
答案 0 :(得分:3)
内容类型中的尾随分号无效。尝试发送:
Content-Type: application/xml
代替。
HTTP规范将媒体类型定义为:
media-type = type "/" subtype *( ";" parameter )
所以在媒体类型参数
之前应该只有一个分号