一文詳解vue3項(xiàng)目實(shí)戰(zhàn)中的接口調(diào)用
前言
在企業(yè)開(kāi)發(fā)過(guò)程中,有著明確的前后端分工,前端負(fù)責(zé)接收、使用接口,后端負(fù)責(zé)編寫(xiě)、處理接口。本期文章將會(huì)詳細(xì)講解 如何使用接口。
vue項(xiàng)目組成
一個(gè)項(xiàng)目往往由這幾個(gè)部分組成。????
其中在src
文件夾中的內(nèi)容如下????
我們常常將接口文件,新建在文件夾src
下,一般命名為api
,api
內(nèi)的文件便是接口文件。????
接口調(diào)用具體內(nèi)容
通常把后端的接口寫(xiě)在api
文件夾下,命名采用駝峰命名法,比如loginApi
、orderApi
、countApi
等等。
loginApi.ts
內(nèi)容
源碼:
import { userType } from '../types/login' import request from '../utils/request' // 定義并導(dǎo)出請(qǐng)求接口函數(shù)userLoginApi 參數(shù)值為loginform 參數(shù)類型為userType export function userLoginApi(loginform: userType) { return request({ // 返回request請(qǐng)求 url: '/api/v1/user/member/private/login', // 請(qǐng)求接口的地址 method: 'post', // 請(qǐng)求方式是post 還有g(shù)et等方法(了解) data: loginform // 請(qǐng)求的數(shù)據(jù)是loginform 在驗(yàn)證請(qǐng)求的時(shí)候可能請(qǐng)求的值為value }) }
request.ts內(nèi)容
(axios請(qǐng)求需要安裝 /store為跨域處理) 后期文章將進(jìn)行補(bǔ)充講解
源碼:
// 引入axios封裝 import axios from 'axios' import { message } from 'ant-design-vue' // 創(chuàng)建axios實(shí)例 const request = axios.create({ baseURL: '/store', // url = base url + request url timeout: 5000 // 5s超時(shí) }) // 請(qǐng)求攔截器 一般寫(xiě)法模式 request.interceptors.request.use( (response) => { return response // 請(qǐng)求成功則返回response }, (error) => { // 請(qǐng)求失敗則顯示錯(cuò)誤狀態(tài) message.error(error.message) return Promise.reject(error) } ) // 響應(yīng)攔截器 request.interceptors.response.use( (response) => { return response }, (error) => { message.error(error.message) return Promise.reject(error) } ) // 導(dǎo)出request export default request
vite.config.ts文件:
項(xiàng)目的頁(yè)面往往寫(xiě)在view
中,每個(gè)頁(yè)面設(shè)一個(gè)文件夾,其中xxx.vue
內(nèi)容則是本頁(yè)面的內(nèi)容。
在頁(yè)面中,如果我們需要使用某個(gè)接口。則需要進(jìn)行引入操作。
import {接口名1、接口名2} from ' api文件地址 ' // from后所跟的就是api中文件的地址路徑
import { userLoginApi } from '../api/loginApi';
接口往往是在方法中進(jìn)行調(diào)用,對(duì)于不同接口 ,需要的參數(shù)也不一樣,根據(jù)需求,我們傳入對(duì)應(yīng)的參數(shù)即可。
接口的使用格式:
調(diào)用接口有三種方式:
fetch
async/await
axios
后期文章持續(xù)更新 詳細(xì)講解
fetch方法:
接口名({參數(shù)1:頁(yè)面中的參1,參數(shù)2:頁(yè)面中的參數(shù)2}).then(res => { console.log(res) //res就是調(diào)用接口后,后臺(tái)返回過(guò)來(lái)的結(jié)果,一般數(shù)據(jù)儲(chǔ)存在res.data.data中,具體情況而論 })
async await方法:
const handleFinish = async (value: any) => { // 表單輸入完畢后點(diǎn)登錄調(diào)用handleFinish函數(shù) // async包裹handleFinish函數(shù)的參數(shù)value 傳參 console.log(value) const {data:res} = await userLoginApi(value) // 對(duì)data解構(gòu)賦值 取出請(qǐng)求結(jié)果res data是請(qǐng)求接口中存放表單數(shù)據(jù)的變量 // 先從請(qǐng)求接口的函數(shù)userLoginApi中獲取存入的表單數(shù)據(jù)value 然后用await包裹 賦值給請(qǐng)求結(jié)果res console.log(res) }
以上就是接口調(diào)用的全部過(guò)程了??梢栽诎?strong>F12打開(kāi)控制臺(tái)查看調(diào)用結(jié)果。
總結(jié)
到此這篇關(guān)于vue3項(xiàng)目實(shí)戰(zhàn)中的接口調(diào)用的文章就介紹到這了,更多相關(guān)vue3項(xiàng)目接口調(diào)用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
el-input輸入校驗(yàn)不能為空格以及不能輸入全部為空的內(nèi)容
這篇文章主要給大家介紹了關(guān)于el-input輸入校驗(yàn)不能為空格以及不能輸入全部為空的內(nèi)容的相關(guān)資料,el-input驗(yàn)證規(guī)則主要是為了確保輸入的內(nèi)容符合特定的要求,需要的朋友可以參考下2023-10-10vue實(shí)現(xiàn)多組關(guān)鍵詞對(duì)應(yīng)高亮顯示功能
最近小編遇到這樣的問(wèn)題,多組關(guān)鍵詞,這里實(shí)現(xiàn)了關(guān)鍵詞的背景色與匹配值的字體顏色值相同,下面通過(guò)定義關(guān)鍵詞匹配改變字體顏色,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2019-07-07淺談vue方法內(nèi)的方法使用this的問(wèn)題
今天小編就為大家分享一篇淺談vue方法內(nèi)的方法使用this的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09安裝vue3開(kāi)發(fā)者工具但控制臺(tái)沒(méi)有顯示出vue選項(xiàng)的解決
這篇文章主要介紹了安裝vue3開(kāi)發(fā)者工具但控制臺(tái)沒(méi)有顯示出vue選項(xiàng)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10關(guān)于Vue中echarts響應(yīng)式頁(yè)面變化resize()的用法介紹
Vue項(xiàng)目中開(kāi)發(fā)數(shù)據(jù)大屏,使用echarts圖表根據(jù)不同尺寸的屏幕進(jìn)行適配,resize()可以調(diào)用echarts中內(nèi)置的resize函數(shù)進(jìn)行自適應(yīng)縮放,本文將給大家詳細(xì)介紹resize()的用法,需要的朋友可以參考下2023-06-06關(guān)于下拉類型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換)
這篇文章主要介紹了關(guān)于下拉類型多選組件Vue-Treeselect(鍵名轉(zhuǎn)換),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Vue3?使用v-model實(shí)現(xiàn)父子組件通信的方法(常用在組件封裝規(guī)范中)
這篇文章主要介紹了Vue3?使用v-model實(shí)現(xiàn)父子組件通信(常用在組件封裝規(guī)范中)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06