vue/配置axios(前后端数据连通/api接口的调用)

news/2024/12/23 5:42:52/

1.创建apis文件

2.写入调用的api地址且暴露出去。

javascript>javascript">import httpInstance from '@/utils/http';export  function getHomeNav() {return httpInstance({url: 'http://10.0.11.91:91/dailyreport/getdailyreportall',})
}

3.创建文件编写拦截器 

代码部分

javascript>javascript">//axios基础封装
import axios from 'axios';
import { ElMessage } from 'element-plus';// 创建axios实例,可以发起请求获得响应的实例。
const httpInstance = axios.create({//baseURL: 'http://localhost:8080', // 请求的基础路径timeout: 5000 // 请求超时时间
});// 请求拦截器
httpInstance.interceptors.request.use(config => {// 在发送请求之前做一些处理return config;}, e => Promise.reject(e)// 请求错误时做一些处理
);  
// 响应拦截器
httpInstance.interceptors.response.use(res => res.data, e => {if(e.response.status === 401){ElMessage.error('请先登录')//跳转登录页面}else{ElMessage({type:'error',message:'请重新登录'+e})}return Promise.reject(e)})
export default httpInstance;
//用于在其他位置调用

 4.写验证函数

javascript>javascript">import './assets/main.css'import { createApp } from 'vue'
//路由工具
import router from './router'
// import ElementPlus from 'element-plus'
// import 'element-plus/dist/index.css'
import App from './App.vue'//测试接口函数
// @ts-ignore
import {getHomeNav} from '@/apis/testAPI'getHomeNav().then((res: any) => {console.log(res)
})const app = createApp(App)
app.use(router)
// app.use(ElementPlus)
app.mount('#app')

5.打开服务器端添加一个注解允许进行跨域访问

@CrossOrigin

接口部分代码

java">package com.log.controller;import com.log.entites.DailyReport;
import com.log.entites.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;import java.util.ArrayList;@RestController
@CrossOrigin
@RequestMapping("dailyreport")
public class Daily_reportController_Consumer {public static final String REST_URL_PREFIX = "http://127.0.0.1:9001";@Autowired//装配private RestTemplate restTemplate;//与提供者传递数据的工具@GetMapping("getdailyreportall")public Result getUserinfoall(){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/getdailyreportall",Result.class);}@GetMapping("getdailyreportbyid")public Result getDailyReportByid(Integer id){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/getdailyreportbyid?id="+id,Result.class);}@GetMapping("getdailyreportusid")public Result selectDailyReportidUsid(Integer id){System.out.println(id);return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/getdailyreportusid?id="+id,Result.class);}@GetMapping("getdailyreportdate")public Result<ArrayList<DailyReport>> selectDailyReportDate(String date){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/getdailyreportdate?date="+date,Result.class);}@GetMapping("getdailyreportdateup")public Result<ArrayList<DailyReport>> selectDailyReportDateUp(){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/getdailyreportdateup",Result.class);}@GetMapping("getdailyreportdatedown")public Result<ArrayList<DailyReport>> selectDailyReportDateDown(){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/getdailyreportdatedown",Result.class);}@GetMapping("getdailyreportdatstatus")public Result<ArrayList<DailyReport>> selectDailyReportStatus(String status){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/getdailyreportdatstatus?status="+status,Result.class);}//添加@PostMapping("setdailyreport")public Result<DailyReport> insertDaolyReport(@RequestBody DailyReport dailyreport){return restTemplate.postForObject(REST_URL_PREFIX+"/dailyreport/setdailyreport",dailyreport,Result.class);}//修改@PostMapping("updailyreportbyid")public Result<DailyReport> updateDaolyReportByid(@RequestBody DailyReport dailyreport) {return restTemplate.postForObject(REST_URL_PREFIX + "/dailyreport/updailyreportbyid",dailyreport, Result.class);}@GetMapping("deletdailyreportbyid")public Result<DailyReport> deleteDaolyReport(Integer id){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/deletdailyreportbyid?id="+id,Result.class);}@GetMapping("deletdailyreportall")public Result<DailyReport>deleteDaolyReportusAll(Integer id){return restTemplate.getForObject(REST_URL_PREFIX+"/dailyreport/deletdailyreportall?id="+id,Result.class);}@PostMapping("upevaluatio")public Result<DailyReport>updateDaolyReportevaluation(@RequestBody DailyReport dailyreport){return restTemplate.postForObject(REST_URL_PREFIX+"/dailyreport/upevaluatio",dailyreport,Result.class);}
}

6.启动服务测试

启动后端服务和前端服务访问网址,打开网页控制台出现数据库传来的数据。

api接口调用成功。


http://www.ppmy.cn/news/1529723.html

相关文章

统一网关--gateway(仅供自己参考)

1、网关的概念&#xff1a; 2、网关的功能&#xff1a; &#xff08;1&#xff09;&#xff1a;身份认证和权限校验 &#xff08;2&#xff09;&#xff1a;服务路由&#xff08;具体的业务路由到具体的服务&#xff09;&#xff0c;负载均衡&#xff08;多台服务的话&#xff…

2024.9.23 Python会议室,堆的使用,用最少数量的箭引爆气球,字典遍历的操作,找到字符串中所有字母异位词,丑数

1.会议室 II 给你一个会议时间安排的数组 intervals &#xff0c;每个会议时间都会包括开始和结束的时间 intervals[i] [starti, endi] &#xff0c;返回 所需会议室的最小数量 。 示例 1&#xff1a; 输入&#xff1a;intervals [[0,30],[5,10],[15,20]] 输出&#xff1a;2…

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【时间管理】

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 子系统开发内核 轻量系统内核&#xff08;LiteOS-M&#xff09; 轻量系统内核&#…

web基础—dvwa靶场(十一)CSP Bypass

CSP Bypass(CSP 绕过) 内容安全策略&#xff08;CSP&#xff09;用于定义脚本和其他资源可以从何处加载或执行&#xff0c;本模块将指导您根据开发人员犯下的常见错误来绕过该策略。 这些漏洞都不是 CSP 中的实际漏洞&#xff0c;它们都是实现 CSP 的方式中的漏洞。 绕过内容安…

创新学生宿舍管理:Spring Boot框架实践

第2章 开发环境与技术 学生宿舍管理系统的编码实现需要搭建一定的环境和使用相应的技术&#xff0c;接下来的内容就是对学生宿舍管理系统用到的技术和工具进行介绍。 2.1 MYSQL数据库 本课题所开发的应用程序在数据操作方面是不可预知的&#xff0c;是经常变动的&#xff0c;没…

力扣 困难 154.寻找旋转排序数组中的最小值 II

文章目录 题目介绍题解 题目介绍 题解 题源&#xff1a; 153.寻找旋转排序数组中的最小值 在此基础上&#xff0c;进行二分之前&#xff0c;单独处理一下左指针和最后一个数相同的情况就好了。 class Solution {public int findMin(int[] nums) {int left 0, right nums.le…

匈牙利算法详解与实现

匈牙利算法是一种高效的二分图最大匹配或最优分配算法&#xff0c;常用于解决任务分配问题&#xff0c;例如将工人分配给任务以最小化成本。该算法通过多步矩阵操作和调整来寻找最优匹配&#xff0c;保证了分配成本的最小化。 算法概述 1. 矩阵减法 首先对矩阵进行行列减法&a…

【JavaEE】——多重锁,死锁问题和解决思路

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 一&#xff1a;加锁的“可重入性” 1&#xff1a;问题引入 2&#xff1a;问题分析 3&#xff1a;可重…