Vue axios调用springboot接口获取数据库数据并显示到网页

axios调用接口获取数据

可以查看简述化的此文 点击 此文简述化文章
PS **由于我自己的本次springboot项目内容很多,所以只是截取了其中关于axios调用接口获取数据的内容,还请大家了解工作原理即可**

前端

添加axios和vue2链接

html 复制代码
 <script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.7.10/vue.js"></script>

div

div中使用vue语法v-for来循环列表数据item in list
当然关于数据有很多种类嘛,如果不需要图片数据的读者可以掠过下面关于图片的内容
PS 关于图片的细节很多,可以学习springboot相关内容,也可以参考我之前的帖子 ,请点击:springboot图片的上传与显示

不过经过了这么长时间,还是有所修改,尤其是关于存储在数据库的数值可以加入前缀http://localhost:8081/当然端口号是自定义的。

控制器中修改upload的绝对路径以及添加前缀这样才方便显示图片
img.transferTo(new File("D:\\大二上\\SpringBoot\\springboot01_10\\src\\main\\resources\\upload\\" + newFilename)); student.setPicUrl("http://localhost:8081/upload/"+newFilename

这里要将upload文件夹放在resources下,并记得配置config防止被禁止访问404发生

div代码参考

html 复制代码
 <div class="table-responsive " id="Zjw">
                <table class="table table-striped table-sm">
                    <thead>
                    <tr>
                        <th>学号</th>
                        <th>姓名</th>
                        <th>年龄</th>
                        <th>照片</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr v-for="item in all">
                        <td>{{item.cno}}</td>
                        <td>{{item.name}}</td>
                        <td>{{item.age}}</td>
                        <td><img :src="item.picUrl" style="height: 130px;width: 130px"></td>
                    </tr>

                    </tbody>
                </table>
            </div>

script

getAll为springboot我们编写的后端接口

html 复制代码
 new Vue({
        el: "#Zjw",
        data:{
            all: []
        },
        mounted() {
            this.getAl()
            //回调
            //Cqnu-zjw
        },
        methods: {
            getAl(){
                //使用axios请求后台数据
                axios.get("http://localhost:8081/getAll").//getAll后端接口
                then(res => {
                    this.all = res.data
                }).catch(err => {
                    console.log("获取不正常")
                })
            }
        },
    })

后端

对于后端来说在这里就只需要有一个获取数据库的数据接口。yaml中自行配置端口,当然对于一个springboot项目来说配置是很多的,可以自行研究。

controller

getAll接口既然是获取数据接口就要加上@ResponseBody

java 复制代码
@ResponseBody
    @GetMapping("getAll")
    public List<Student> stu(Model model) {
        List<Student> students = stuService.getAll();
        return students;
    }

如果说是要进入页面的话

java 复制代码
 @GetMapping("/student")
    public String student(Model model){
        List<Student> students=stuService.getAll();
        model.addAttribute("stu",students);
        return "students";
    }

结语

那么到这里基本上运行项目后可以正常的获取数据库数据并显示到页面上了。当然这里所展示的仅仅是关于axios调用接口部分,其余的内容真的还差很多,总之完成一个项目还是任务艰难的。

相关推荐
学以智用9 分钟前
Vue3 状态管理库 Pinia 完整教程
前端·vue.js
JZC_xiaozhong9 分钟前
医疗器械行业供应商主数据管理:多视角下的破局与重构
大数据·数据库·重构·数据分析·mdm·主数据管理·数据集成与应用集成
北寻北爱9 分钟前
面试题-js篇
前端·javascript
这是个栗子10 分钟前
前端开发中的常用工具函数(五)
javascript·数据结构·reduce
两万五千个小时11 分钟前
学习 Pi Coding Agent:系统提示词与工具设计深度解析
javascript·人工智能·架构
harrain11 分钟前
vue3多个watch监听统一等待触发再执行后续逻辑的处理方案
前端·javascript·vue.js
yunyun3212312 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
yuyu_030419 分钟前
Spring Boot在Windows开机自启动
windows·spring boot·后端
骇客野人23 分钟前
Java springboot里注解大全和使用指南
java·开发语言·spring boot
用户83071968408225 分钟前
Spring Boot 启动报错:OpenFeign 隐性循环依赖,排查了整整一下午
java·spring boot·spring cloud