栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

调用Web API 2端点时HTTP 415不支持的媒体类型错误

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

调用Web API 2端点时HTTP 415不支持的媒体类型错误

解决
了这个问题后,我将头撞在墙上了几天,看来问题出在客户端和服务器之间的内容类型协商上。我用Fiddler来检查来自客户端应用程序的请求详细信息,这是fiddler捕获的原始请求的屏幕截图:

显然缺少

Content-Type
标题,即使我按照原始帖子中的代码示例所示进行了设置。我以为
Content-Type
即使设置了它也从未实现过,这很奇怪,所以我又看了我的另一个(工作)代码,调用了另一个Web
API服务,唯一的区别是我碰巧在设置
req.ContentType
属性之前在这种情况下,写入请求主体。我对该新代码进行了更改,然后进行了更改,
Content-Type
现在显示出来,并且从Web服务获得了预期的成功响应。现在,.NET客户端中的新代码如下所示:

req.Method = "POST"req.ContentType = "application/json"lstrPagingJSON = JsonSerializer(Of Paging)(lPaging)bytData = Encoding.UTF8.GetBytes(lstrPagingJSON)req.ContentLength = bytData.LengthreqStream = req.GetRequestStream()reqStream.Write(bytData, 0, bytData.Length)reqStream.Close()'// Content-Type was being set here, causing the problem'req.ContentType = "application/json"

仅此而已,

ContentType
只需在写入请求主体之前设置属性

我相信这种行为是因为一旦将内容写入主体,然后将其流式传输到被调用的服务端点,则需要在此之前设置与该请求有关的任何其他属性。如果我输入错误或需要更多详细信息,请纠正我。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号