首页 > 其他分享 >vue/配置axios(前后端数据连通/api接口的调用)

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

时间:2024-09-19 13:53:58浏览次数:8  
标签:axios return vue URL dailyreport api Result import public

1.创建apis文件

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

import httpInstance from '@/utils/http';

export  function getHomeNav() {
  return httpInstance({
    url: 'http://10.0.11.91:91/dailyreport/getdailyreportall',
  })
}

3.创建文件编写拦截器 

代码部分

//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.写验证函数

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

接口部分代码

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接口调用成功。

标签:axios,return,vue,URL,dailyreport,api,Result,import,public
From: https://blog.csdn.net/ededabo/article/details/142346509

相关文章

  • vue3/配置Element-Plus主题颜色
    1.了解主题颜色在Element-Plus中,主题颜色通常包含以下属性:主色(PrimaryColor):主色是应用中使用最频繁的颜色,通常用于按钮、链接、图标等,以提供视觉焦点和品牌识别度。辅助色(AuxiliaryColors):辅助色用于支持和补充主色,可以用于不同的组件状态,如成功、警告、错误等。中性......
  • vue3/Element-Plus/路由的使用
    我们来实现一个简单的二级路由1.准备主页和要配置的组件主页面<template><!--加载配置路由--><RouterView></RouterView></template><stylescoped></style>组件1<template><div>考试组件</div></template>组件2<temp......
  • 基于nodejs+vue华阳大众汽车售卖系统[程序+论文+开题] 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着汽车市场的日益繁荣与消费者需求的多元化,汽车售卖系统已成为连接汽车制造商、经销商与终端用户的关键桥梁。华阳大众汽车作为知名汽车品牌,其市场影响力......
  • 基于nodejs+vue滑雪场管理系统[程序+论文+开题] 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着冬季运动的日益普及,滑雪场作为冰雪运动的重要载体,其管理与运营效率直接关系到游客体验、安全保障及经济效益。然而,传统的人工管理模式在面对大规模游客......
  • 基于nodejs+vue滑雪管理系统[程序+论文+开题] 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着冬季运动的兴起,滑雪作为一项集休闲、健身与竞技于一体的运动,在全球范围内受到了广泛的欢迎与追捧。然而,传统滑雪管理方式往往依赖于人工操作,存在效率低......
  • Vue 依赖注入组件通信:provide / inject 使用详解
    引言在Vue.js中,我们经常会遇到组件之间需要共享数据的情况。一种常见的解决方案是通过props和$emit事件来进行数据传递,但对于多层嵌套的组件结构或共享状态的场景,这种方式显得繁琐而不直观。幸运的是,Vue.js提供了一个稍微优雅的解方案:依赖注入-provide和inject。......
  • 基于nodejs+vue化妆品配方及工艺管理系统[程序+论文+开题] 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着化妆品行业的蓬勃发展,市场竞争日益激烈,消费者对产品的个性化、安全性和功能性需求不断提升。化妆品的研发与生产涉及复杂的配方设计与工艺控制,传统的手......
  • 基于nodejs+vue化妆品商城网站[程序+论文+开题] 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和消费者购物习惯的深刻变革,电子商务已成为现代商业活动不可或缺的一部分。化妆品作为日常消费中不可或缺的一类产品,其市场规模持......
  • 基于nodejs+vue化妆品售卖系统[程序+论文+开题] 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着电子商务的蓬勃发展和消费者对美妆产品需求的日益增长,化妆品行业迎来了前所未有的市场机遇。传统化妆品售卖模式已难以满足消费者对于便捷性、个性化及......
  • 揭秘:一行代码搞定.Net API高并发的烦恼!
            高并发下的接口请求重复提交问题在.Net开发中,我们经常遇到用户疯狂点击同一按钮,或者服务响应慢时重复发送请求,导致数据重复添加或混乱。这不仅浪费资源,更会得到错误的业务结果。如何高效解决这一普遍问题呢?        常规方案使用分布式锁 面对这问题......