国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

博爾塔拉州大型網(wǎng)站建設(shè)百度知道在線問答

博爾塔拉州大型網(wǎng)站建設(shè),百度知道在線問答,ios7 風(fēng)格 網(wǎng)站,廣告平面設(shè)計(jì)師文章目錄 <font color red>1.何為前后端對接?2.對接中關(guān)于http的關(guān)鍵點(diǎn)2.1. 請求方法2.2. 請求參數(shù)設(shè)置簡解&#xff1a; 3.對接中的跨域(CROS)問題**為什么后端處理跨域盡量在業(yè)務(wù)之前進(jìn)行&#xff1f;**3.總結(jié) 1.何為前后端對接? “前后端對接” 是指前端和后端兩個…

在這里插入圖片描述

文章目錄

    • <font color = red>1.何為前后端對接?
    • 2.對接中關(guān)于http的關(guān)鍵點(diǎn)
      • 2.1. 請求方法
      • 2.2. 請求參數(shù)設(shè)置簡解:
    • 3.對接中的跨域(CROS)問題
    • **為什么后端處理跨域盡量在業(yè)務(wù)之前進(jìn)行?**
    • 3.總結(jié)

1.何為前后端對接?

“前后端對接”
是指前端和后端兩個不同的軟件組件或系統(tǒng)之間的協(xié)作和交互過程。在軟件開發(fā)中,通常將應(yīng)用程序劃分為前端和后端兩個主要部分,它們各自負(fù)責(zé)不同的任務(wù)和功能:

🌴 前端:前端是用戶與應(yīng)用程序直接交互的部分,通常包括用戶界面(UI)和用戶體驗(yàn)(UX)。前端通常運(yùn)行在用戶的設(shè)備上,例如Web瀏覽器、移動應(yīng)用程序或桌面應(yīng)用程序。前端的主要任務(wù)包括呈現(xiàn)數(shù)據(jù)、收集用戶輸入、處理用戶交互以及向用戶展示信息。前端通常使用HTML、CSS和JavaScript等技術(shù)來創(chuàng)建用戶界面。

🌴 后端:后端是應(yīng)用程序的服務(wù)器端組件,它負(fù)責(zé)處理前端發(fā)送的請求并執(zhí)行相應(yīng)的操作。后端通常包括數(shù)據(jù)庫、服務(wù)器、業(yè)務(wù)邏輯和應(yīng)用程序的核心功能。它處理數(shù)據(jù)存儲、驗(yàn)證、安全性、性能和業(yè)務(wù)規(guī)則等方面的問題。

“前后端對接”
涉及將前端和后端協(xié)調(diào)工作,以實(shí)現(xiàn)應(yīng)用程序的完整功能。這包括通過API(應(yīng)用程序編程接口)或其他通信方式進(jìn)行數(shù)據(jù)交換、數(shù)據(jù)驗(yàn)證、身份驗(yàn)證和授權(quán),以及確保前端和后端的數(shù)據(jù)和狀態(tài)同步。

通常情況下,前后端之間的交互是通過HTTP協(xié)議進(jìn)行的。HTTP(Hypertext Transfer Protocol)是一種用于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)的協(xié)議,廣泛用于Web應(yīng)用程序中。通過HTTP,前端可以向后端發(fā)起請求,并接收來自后端的響應(yīng)。
在這里插入圖片描述

2.對接中關(guān)于http的關(guān)鍵點(diǎn)

前端需要經(jīng)常請求的信息就是http請求

請求消息(HTTP Request Message):

  • 🌴 請求行(Request Line):包括請求方法(GET、POST、PUT,DELETE等)、請求的資源路徑(URL)和協(xié)議版本(HTTP/1.1等)。

  • 🌴 請求頭部(Request Headers):包含關(guān)于請求的元信息,如User-Agent(用戶代理)、Host(主機(jī))、Content-Type(內(nèi)容類型)等。

  • 空行(Empty Line):請求頭部與消息主體之間需要有一個空行。

  • 🌴 消息主體(Message Body):可選的,包含發(fā)送到服務(wù)器的數(shù)據(jù),通常在POST請求中使用,例如表單數(shù)據(jù)或JSON數(shù)據(jù)。

前端中我們需要經(jīng)常對請求頭,請求體,以及請求方式進(jìn)行修改處理,最后發(fā)送到后端接口處

2.1. 請求方法

  1. get請求,一般數(shù)據(jù)參數(shù)僅包含query參數(shù)
axios.get('/user', {params: {ID: 12345}}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);}).then(function () {// 總是會執(zhí)行});  
  1. post請求,和get相比可以攜帶請求體。一般表示提交
//在axios中默認(rèn)的請求數(shù)據(jù)時json
axios.post('/user', {firstName: 'Fred',lastName: 'Flintstone'}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});
  1. put請求,用法和post類似,一般表示修改。
  2. delete請求,用法和post類似,一般表示刪除。

2.2. 請求參數(shù)設(shè)置簡解:

實(shí)際上除了get和query參數(shù)幾乎算綁定關(guān)系之外,其他三種類型請求,可以自定義請求參數(shù)。

  1. 🌴 query參數(shù):只在get請求中使用,具體實(shí)現(xiàn)拼接到url中,一般不需要額外的請求設(shè)置。

在這里插入圖片描述
在get請求中參數(shù)一般通過拼接url時間如果是幾個參數(shù)的時候可以增加&符號

localhost:8080/api/test?name=admin&password=admin

而在springboot中可以

    @GetMapping("/test")public String test(String name){log.info("測試接口被訪問");return name;}

在這里插入圖片描述
這要保證變量名和前端傳遞的變量名一致,這樣springboot可以幫你自動映射到你的變量里。

  1. body參數(shù)
  • 🌴 json參數(shù):是axios默認(rèn)發(fā)送的類型,如果使用axios不需要任何額外的設(shè)置,直接傳遞參數(shù)即可。

請求頭需要添加'Content-Type: application/json'

//json的結(jié)構(gòu)
{"name""admin""password""admin"
}

由于json實(shí)際上是一個字符串,所以只能映射到一個變量里,如果前端結(jié)構(gòu)變量和后端一直,可以通過@RequestBody解析到對象里。
在這里插入圖片描述

  • 🌴 URLSearchParams 參數(shù)
    URLSearchParams參數(shù)是n對鍵值對的形式,和query差不多,但是是在body中,可以說是query的post翻版請求頭需要application/x-www-form-urlencoded
export const createFolder = (newPath : string) => {const prams = new URLSearchParams();prams.append('newPath',newPath);return service<any, ApiResponse>({ url: baseURL + '/createFolder',method: 'post','data': prams,headers: {'Content-Type': 'application/x-www-form-urlencoded'}})
}

在這里插入圖片描述
@RequestParam("name")可以把前端變量注入到后端變量里,防止變量名沖突

  • 🌴 FormData參數(shù)
    有沒有發(fā)現(xiàn)上面都是傳輸簡單字符串的,那么這個就是傳文件的,FormData參數(shù)是類似鍵值對的形式,但是可以傳輸文件
//調(diào)用接口
const formData = new FormData();formData.append('file', file); // 這里可以根據(jù)需要設(shè)置其他表單字段formData.append('path',currentPath);uploadImg(formData).then((res) => {if(res.statusCode === 200){ElMessage.success('上傳成功');flushTableData();refUpload.value.clearFiles();}//前端上傳api
export const uploadImg = (formData:FormData) => {return service<any, ApiResponse>({ url: baseURL + '/uploadImg',method: 'post','data': formData,headers: {'Content-Type': 'multipart/form-data'}})
}

3.對接中的跨域(CROS)問題

什么時候會發(fā)生跨域問題?

跨域(Cross-Origin)是指在 Web
開發(fā)中,當(dāng)一個網(wǎng)頁的源(Origin)與另一個網(wǎng)頁的源不同,即它們的協(xié)議(HTTP/HTTPS)、主機(jī)(Domain)或端口號不同時,就會發(fā)生跨域問題

實(shí)際上概念大家都知道,不過有時候跨域有時候不跨摸不著頭腦。
在這里插入圖片描述

跨域預(yù)請求(Preflight Request)是在跨域請求中的一種特殊情況,它通常發(fā)生在滿足以下條件的情況下:

  • 🌴 使用非簡單請求方法:跨域請求中,如果使用了非簡單請求方法,例如PUT、DELETE、OPTIONS、PATCH等,且請求包含了自定義的請求頭(非簡單請求頭),那么瀏覽器會自動發(fā)起一個跨域預(yù)請求,以獲取服務(wù)器是否允許實(shí)際請求的權(quán)限。
  • 🌴 非簡單請求頭:跨域請求中,如果請求中包含了自定義的請求頭字段,例如"Authorization"、"X-Requested-With"等,而這些請求頭字段不在瀏覽器的預(yù)定義白名單內(nèi),也會觸發(fā)跨域預(yù)請求。
  • 🌴 跨域請求條件:跨域預(yù)請求通常與跨域請求(例如跨域AJAX請求)相關(guān)。這意味著請求的源(Origin)、協(xié)議(HTTP/HTTPS)、端口號(Port)等與當(dāng)前頁面的源不同。

跨域預(yù)請求的主要目的是確保服務(wù)器允許跨域請求,以避免潛在的安全風(fēng)險。在跨域預(yù)請求中,瀏覽器會自動發(fā)起一個OPTIONS請求,這個OPTIONS請求包含了用于驗(yàn)證服務(wù)器是否支持跨域請求的信息,例如請求方法和請求頭字段。

那么,如果是簡單請求的話,即便跨域,也可能可以正常發(fā)送數(shù)據(jù)。

為什么后端處理跨域盡量在業(yè)務(wù)之前進(jìn)行?

我有一次在token驗(yàn)證,攔截了正常的跨域請求,我配置了跨域處理,請問為什么,無法正常使用接口?
在這里插入圖片描述
答:因?yàn)槲以谶^濾器處理的token,攔截器處理的跨域。

那么答案顯然易見,跨域的option請求被token過濾器所攔截,攔截器等于無效狀態(tài)。

解決方案有兩個,

  1. 要么把跨域處理放到過濾器放到token過濾器之前
  2. 把token處理放到攔截器放到跨域處理之后。

核心邏輯是: 跨域數(shù)據(jù)屬于http邏輯處理,一般情況盡量在業(yè)務(wù)之前處理完畢。

3.總結(jié)

這篇文章我主要總結(jié)了:前端參數(shù)請求頭意義,后端接受參數(shù)的注解,以及跨域的流程,如何處理跨域。

http://aloenet.com.cn/news/32751.html

相關(guān)文章:

  • 做網(wǎng)站常用哪種語言全網(wǎng)關(guān)鍵詞優(yōu)化公司哪家好
  • 語言互動網(wǎng)站建設(shè)輿情系統(tǒng)
  • wordpress如何加友鏈網(wǎng)站排名seo培訓(xùn)
  • 掃描做電子版網(wǎng)站百度地圖收錄提交入口
  • 濟(jì)南行業(yè)網(wǎng)站開發(fā)東莞網(wǎng)站建設(shè)公司排名
  • 做鏈接哪個網(wǎng)站好專業(yè)營銷推廣團(tuán)隊(duì)
  • 阿里云做網(wǎng)站經(jīng)費(fèi)免費(fèi)網(wǎng)站建設(shè)
  • 遂寧市網(wǎng)站建設(shè)最近發(fā)生的新聞
  • 信譽(yù)好的o2o網(wǎng)站建設(shè)關(guān)鍵詞網(wǎng)絡(luò)推廣企業(yè)
  • 家庭室內(nèi)裝修設(shè)計(jì)公司杭州seo網(wǎng)
  • 建站之星設(shè)計(jì)師站優(yōu)云seo優(yōu)化
  • 汽車保險網(wǎng)站crm系統(tǒng)
  • 免費(fèi)的自助設(shè)計(jì)網(wǎng)站百度風(fēng)云榜官網(wǎng)
  • 電子商務(wù)網(wǎng)站開發(fā)相關(guān)技術(shù)全網(wǎng)線報 實(shí)時更新
  • 嘉興做網(wǎng)站費(fèi)用重慶百度推廣電話
  • 免費(fèi)視頻網(wǎng)站制作自己如何制作一個網(wǎng)頁
  • 濟(jì)南網(wǎng)站建設(shè)山東酷風(fēng)seo關(guān)鍵詞怎么優(yōu)化
  • 怎么做瀏覽器網(wǎng)站嗎推廣計(jì)劃
  • 網(wǎng)站建設(shè)是什么樣的百度關(guān)鍵詞排行榜
  • 怎么弄個人網(wǎng)站優(yōu)幫云排名自動扣費(fèi)
  • 網(wǎng)站設(shè)計(jì)規(guī)劃書例子微信客戶管理
  • 上饒建設(shè)培訓(xùn)中心網(wǎng)站網(wǎng)絡(luò)營銷公司熱線電話
  • 中國十大電商做的好的網(wǎng)站seo推廣是什么意懌
  • 專業(yè)微信網(wǎng)站建設(shè)公司首選公司哪家好互聯(lián)網(wǎng)推廣公司排名
  • 建網(wǎng)站前期設(shè)計(jì)用那軟件花都網(wǎng)絡(luò)推廣seo公司
  • wordpress注冊去掉電子郵件上海網(wǎng)站seo診斷
  • 做網(wǎng)站后臺域名備案官網(wǎng)
  • 鄭州專業(yè)網(wǎng)站制作服務(wù)報價濟(jì)南網(wǎng)絡(luò)推廣公司電話
  • 寧波網(wǎng)站建設(shè)在線智慧軟文網(wǎng)站
  • 南昌有限公司 網(wǎng)站灰色詞排名代做