Net Core+swagger+Vue+axios webapi请求时参数长度过大

25 篇文章 1 订阅
本文探讨了在前端Vue应用中,当POST请求的参数`content`内容过长时导致后台接口添加失败的问题。原始代码使用`params`方式传递数据,调整后改为直接将`model`对象作为请求体`body`传递,并在后台接口添加`[FromBody]`注解以正确接收长内容。这种解决方案确保了长内容的完整传输,避免了数据丢失或添加失败的情况。
摘要由CSDN通过智能技术生成

如下:

export default {
  name: "longParam",
  data() {
    return {
      model: {
        id:'',
        name:'',
        content:''
      }
    };
  },
  methods: {
    //model作为参数调用接口,后台用实体接收
    addModel: function() {
      var that = this;
      axios
        .post("xx/xxx/AddModel",{params:that.model})
        .then(function(response) {
          var data = response.data;
          if (data.status == 0) {
            
          }
        })
        .catch(function(error) {
          console.log(error);
        });
    }
  }
};
</script>

后台代码:

[HttpPost]
public ActionResult AddModel(Model model)
{
    //逻辑代码
}

以上代码中:如果content允许的内容过长,就会添加不成功,就需要修改调用接口的方式,如下

export default {
  name: "longParam",
  data() {
    return {
      model: {
        id:'',
        name:'',
        content:''
      }
    };
  },
  methods: {
    //model作为参数调用接口,后台用实体接收,将model直接作为参数传递,删除params
    addModel: function() {
      var that = this;
      axios
        .post("xx/xxx/AddModel",that.model)
        .then(function(response) {
          var data = response.data;
          if (data.status == 0) {
            
          }
        })
        .catch(function(error) {
          console.log(error);
        });
    }
  }
};
</script>

后台接口在接收的时候,在调用参数前添加[FromBody],如下:

[HttpPost]
public ActionResult AddModel([FromBody]Model model)
{
    //逻辑代码
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值