415 unsupported media type错误解决.net core API

做一个项目遇到了两次415的错误,第一次解决了但是没引起重视,到了第二次却忘了怎么解决的,又不得不化很多时间重新查资料,试错。

我两次都是post请求报415错,网上很多都说要改Content-Type,改为application/json,试了一下,错误为400了,查了资料,猜测应该是跨域出现了问题,

application/json跨域会发送两次请求,一次请求OPTIONS,第二次才请求数据。因此跨域我用的Content-Type : application/x-www-form-urlencoded;charset=utf-8,然而如果该ContentType不行那应该改什么呢,我把这次写的API接口和以前的一比,好家伙,

       [HttpPost]
        public IActionResult Login([FromForm]UserDto u)
        {
            AjaxResponse ajax =   _userservice.VarifyUser(u);
          return Ok(ajax);
        [HttpPost]
        public IActionResult GetTitle ([FromBody]BlogTilePageDto pageDto)
        {
            return Ok(homeService.GetBlogTitles(pageDto));
        }

就是你了,FromBody和FromForm,记得我以前也写过的,现在既开心又难受。

顾名思义,从两者名字可以看出,FromBody的参数应该是以Json的形式传递,FromForm的参数应该是以表单的方式传递,而我上面Content-Type写的就是x-www-form这不就是表单方式吗,因此需要把FromBody改为FromForm

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值