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

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

如下:

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);
        });
    }
  }
};

后台代码:

[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);
        });
    }
  }
};

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/722217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存