coding
cyufeng的gravatar头像
cyufeng2019-01-06 18:10:59
springboot+vue+axios post传参问题

最近在用标题的这几个东西,之前也遇到过小问题,难度都不算是太大,但是今天这个问题我真是一定要说说

axios在和springboot之间龙8国际娱乐官方网站交互的问题。

首先声明我用的前端是vue.js+axios    后端用的springboot

我现在想做的事是在前端的页面上给后端传递一个数组,数组中包含很多龙8国际娱乐官方网站

遇到的问题是我知道传值的时候要用json类型的龙8国际娱乐官方网站,但是总是报415.

这个问题的原因是前端发送的龙8国际娱乐官方网站类型和后端要接收的龙8国际娱乐官方网站类型不一致产生的错误。

下面说说我现在是实现的:

后端:

    @PostMapping("/saveArticleTest")
    public String saveMoodTest(@RequestBody List<testdto> testdto) {
        String rr = new String();
        return "";
    }

后端的写法就是这样,红色的部分等一下再说,最主要的部分就是@PostMapping和@RequestBody这两个标签

测试类(这里用了lombok自动生成get,set方法)

/**
 * 测试用的dto
 *
 * @author Cyufeng
 * Data:2019.01.06
 */
@Getter
@Setter
public class testdto {
    private String name;
    private String sex;
}

接下来就是前端

我是把axios在main.js里面定义为了全局变量,所以方法里面没有引用,而是直接使用的

main.js

import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false
var axios = require('axios')
axios.defaults.baseURL = 'http://localhost:8301/blog'
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8'
// 将API方法绑定到全局
Vue.prototype.$axios = axios
Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
	el: '#app',
	router,
	components: {
		App
	},
	template: '<App/>'
})

这里除了有把axios定义为全局变量,而且红色部分是把axios的所有post请求都设置为了application/json格式,这样就解决了前台传输的龙8国际娱乐官方网站不是json格式的问题。

 

使用的地方

 methods: {
 save() {
      var list=new Array();//创建list集合
      var data = { name: "chenyufeng", sex: "man" };
      list.push(data);
      list.push(data);
      this.$axios
        .post("/article/saveArticleTest", JSON.stringify(list))
        .then(successResponse => {})
        .catch(failResponse => {}); //失败后的操作
    }
  },
};

这里显示创建了list集合,又创建了data对象,最后把data放进list集合里,两次。

axios的post请求里,用json.stringify()将list转换成了json格式,后台就可以收到龙8国际娱乐官方网站并且转换为java对象数组了。

 

标红色的地方是如果你想只传递一个对象的话就要把这两个地方都改一下

以上


打赏

分享到:

最近浏览
huhaozxc LV23月16日
星星星星
xwkjcc LV83月12日
月亮月亮
暂无贡献等级
coding喵 LV153月6日
月亮月亮月亮星星星星星星
仲恺小霸王 LV32月28日
星星星星星星
java和python的女儿 LV102月28日
月亮月亮星星星星
魔方73 LV22月27日
星星星星
麻麻亮 LV72月27日
月亮星星星星星星
Andy_ZL2月27日
暂无贡献等级
ldd888 LV262月27日
太阳月亮月亮星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友

龙8国际娱乐pt老虎机