一、后端
1、创建Springboot项目
在IDEA中新建一个Springboot项目
然后勾选Spring Web的依赖。
然后点击Finish,项目创建完成。
2、添加控制器
新建一个控制器HelloController,然后添加下面的代码
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello wanmait";
}
}3、启动IDEA项目
点击右上角绿色箭头启动项目
项目正常启动如下图:
二、前端
首先,创建一个Vue项目,创建方法可以参考我之前写的:
https://www.wanmait.com/note/shaowei/javaee/e6e45814929347b2b50b88457733a59b.html
然后在首页index.html中添加下面的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>springboot+vue前后端交互hellworld示例代码</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id="box">
{{msg}}
</div>
<script type="text/javascript">
var app = new Vue({
el: '#box',
data: {
msg:""
},
methods: {
// 发送ajax请求,获取用户列表
loadData: function() {
var that = this;
axios.get('http://localhost:8080/hello')
.then(function (response) {
var data = response.data;
app.msg=data;
})
.catch(function (error) {
console.log(error);
});
}
},
mounted: function() {
// 页面加载执行方法
this.loadData();
}
});
</script>
</body>
</html>然后在终端Terminal中输入命令npm run dev 启动Vue项目
项目启动完成如下图:
打开浏览器,访问网址:http://localhost:8081
此时,页面什么都没有输出,控制台报了一个错误
这是跨域请求的问题
解决这个问题,需要在后端项目中新添加一个类CoreConfig
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
/*
* 一小时内不需要再预检
*/
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowCredentials(true)
.allowedHeaders(CorsConfiguration.ALL)
.allowedMethods(CorsConfiguration.ALL)
.maxAge(3600);
}
}然后重新启动后端项目
然后刷新前端页面
现在就可以正常在页面上输出
至此,我们成功使用Springboot和Vue进行的数据的交互。

0条评论
点击登录参与评论