Postman发送POST请求返回415错误但ASP.NET Core接口在Swagger运行正常
问题解答
415错误含义
415 Unsupported Media Type 表示服务器不支持当前请求提交的内容媒体类型,无法解析请求体内容,因此拒绝执行请求。
Postman调用失败的原因
你的ASP.NET Core POST接口默认要求请求体为JSON格式,Swagger发起请求时会自动携带Content-Type: application/json的请求头,告知服务器请求体格式是JSON,因此可以正常调用。
而你在Postman中发起请求时没有正确配置请求格式,触发了服务器的格式校验,有两种常见的错误配置:
- Postman的Body标签页选错了格式:选了
form-data或者x-www-form-urlencoded,没有选raw且将格式设置为JSON - 即使选了raw JSON格式,也可能手动删除了默认自动生成的
Content-Type请求头,导致服务器无法识别请求体的格式
所有GET接口可以正常调用是因为GET请求一般没有请求体,不需要声明内容类型,不会触发该格式校验。
修复方法
- 打开Postman对应请求的「Body」标签,选中
raw选项,在右侧下拉菜单选择JSON - 确认你的JSON请求体格式正确,粘贴到输入框中
- 切换到「Headers」标签,检查是否存在
Content-Type项,值为application/json,如果没有就手动添加 - 重新发送请求即可正常执行。
内容的提问来源于stack exchange,提问作者GrillOwner69420
相关产品推荐
相关产品推荐

