前端怎么調(diào)用后端接口 后端提供給前端的接口是什么樣的?
后端提供給前端的接口是什么樣的?一般不存在前端給后端接口的情況,幾乎都是后端給前端接口,所謂接口就是可以通過服務(wù)端部署的機(jī)器提供出來的URL地址進(jìn)行動(dòng)態(tài)的數(shù)據(jù)交互。通常的工作流是后端跟前端協(xié)商定義數(shù)據(jù)
后端提供給前端的接口是什么樣的?
一般不存在前端給后端接口的情況,幾乎都是后端給前端接口,所謂接口就是可以通過服務(wù)端部署的機(jī)器提供出來的URL地址進(jìn)行動(dòng)態(tài)的數(shù)據(jù)交互。通常的工作流是后端跟前端協(xié)商定義數(shù)據(jù)接口格式(一般就是JSON格式)形成文檔,后端實(shí)現(xiàn)接口,前端做靜態(tài)的mock(可以是直接在頁面的JS拼假數(shù)據(jù)或者通過JSONserver按照真實(shí)調(diào)用服務(wù)的方式集成),后端實(shí)現(xiàn)服務(wù)接口,兩邊都完成后集成聯(lián)調(diào)?,F(xiàn)在有swagger或者apiairy等工具可以更簡化這個(gè)過程
后端開發(fā)完接口才給出接口文檔,合理嗎?你怎么看?
一個(gè)非常好的問題,我是工作多年的Web應(yīng)用架構(gòu)師,來回答一下這個(gè)問題。歡迎關(guān)注我,了解更多IT專業(yè)知識(shí)。
后端給出接口文檔太晚,也合理也不合理,要看具體情況,總有解決方法,我來說一下我的觀點(diǎn)。
不合理:成熟的技術(shù)團(tuán)隊(duì),重視功能設(shè)計(jì),在動(dòng)手寫代碼之前已經(jīng)有了完整的技術(shù)文檔和功能定義,甚至在TDD測試驅(qū)動(dòng)開發(fā)模式中,測試數(shù)據(jù)已經(jīng)準(zhǔn)備就緒,那么這時(shí)接口文檔不管寫沒寫,接口邏輯都是已經(jīng)確定的,整理出來是水到渠成。
合理:多存在于早期小型創(chuàng)業(yè)公司,主觀客觀原因都有。
- 先說主觀原因。趕進(jìn)度、沒時(shí)間、懶得寫,甚至開發(fā)前都沒做仔細(xì)的設(shè)計(jì),邊做邊改,這些原因普遍存在,也實(shí)在沒啥好辦法。
- 客觀原因,需求在變,功能跟著變,接口也要變,那么如果寫了文檔,理所當(dāng)然也要更新維護(hù)???我的天哪。
有解決方法嗎?建議試試:
1,Swagger接口文檔,將文檔融合到代碼中,讓維護(hù)文檔和修改代碼整合為一體,使得修改代碼邏輯的同時(shí)方便的修改文檔說明。
2,Postman接口測試工具,導(dǎo)入導(dǎo)出JSON文件,高效團(tuán)隊(duì)協(xié)作。Postman支持各種請求方式和配置環(huán)境變量,并對返回結(jié)果進(jìn)行測試校驗(yàn),支持批量自動(dòng)化運(yùn)行,可以和自動(dòng)構(gòu)建系統(tǒng)集成。
程序里的前端和后端是什么意思?
通俗一點(diǎn)的說,[前端] 就是我們可以直接查看的內(nèi)容,包含用戶可以看到和體驗(yàn)的一切,比如你瀏覽網(wǎng)站或使用 APP 的時(shí)候,各種各樣的頁面布局、圖片、按鈕、菜單、文字、視頻等等,而 [后端] 是程序中無法被用戶看到的這部分,進(jìn)行數(shù)據(jù)交互及網(wǎng)站數(shù)據(jù)的保存和讀取,它包含著所有的邏輯功能,支撐著前端。
前端和后端在項(xiàng)目開發(fā)過程中都起著至關(guān)重要的作用,它們就像同一個(gè)硬幣的兩面,都起著重要的作用。
前端開發(fā)涉及到的技能主要有:Html、CSS、JavaScript、Java或kotlin(Android開發(fā))、Object-C或Swift(iOS開發(fā));當(dāng)然也有很多前端的開發(fā)框架:Vue、React、Angular 等等;
后端開發(fā)語言比較多,現(xiàn)在 Java 占了大半壁江山,常用的框架或中間件諸如 Spring 全家桶、關(guān)系型數(shù)據(jù)庫 MySQL、Oracle等、非關(guān)系型數(shù)據(jù)庫 Redis、MongoDB、ES 等、消息中間件等等。
可以看到前端開發(fā)和后端開發(fā)的差別還是比較大的。
現(xiàn)在有一個(gè)非常流行的詞兒叫做“前后端分離”,也就是前端工程和后端代碼分開部署,前后端通過接口的方式進(jìn)行連接,這樣前后端的開發(fā)人員在約定好接口之后,就可以并行開發(fā),并且一套后端可以支持不同的前端,實(shí)現(xiàn)后端代碼的復(fù)用。
作者:會(huì)點(diǎn)代碼的大叔 ,一個(gè)寫代碼的架構(gòu)師,專注程序員的學(xué)習(xí)和成長,關(guān)注并私信我數(shù)字“1”,送你一份程序員大禮包。
后端提供給前端的接口以及前后端聯(lián)調(diào)是怎樣的?
感謝邀請!
在編程行業(yè)有兩個(gè)接口的概念!
第一個(gè)接口的概念是面相對象的接口,這個(gè)接口可以實(shí)現(xiàn)封裝!多態(tài),高內(nèi)聚,低耦合的優(yōu)質(zhì)代碼!
第二個(gè)就是你說的前端調(diào)用后端接口,為了使用前后端分離,一般現(xiàn)在公司都是使用mvc的方式來進(jìn)行編寫項(xiàng)目,目的是前端不論是傳統(tǒng)的html還是安卓都可以正確的得到他們想要的數(shù)據(jù),一般所謂的接口是一個(gè)url,會(huì)有指定的格式,比如給你傳輸什么數(shù)據(jù),你給返回什么格式的數(shù)據(jù),現(xiàn)在常用的就是xml或者json格式!
這個(gè)應(yīng)該就是你說的前后端聯(lián)調(diào)!
不知道能不能幫上你!
怎么看待一些后端程序員不寫接口文檔,老是以很忙為借口搪塞?
感謝邀請!
不寫接口文檔,一般都是很忙?;蛘邲]有空閑的時(shí)間去梳理文檔。
前后端對接,一般前段開發(fā)人員一般都需要后端人員提供接口文檔,但是現(xiàn)在swagger文檔已經(jīng)完全可以提供該功能。很多情況下后端開發(fā)程序員集成一個(gè)swagger進(jìn)去,會(huì)自動(dòng)生成相應(yīng)的文檔。
可以給后端開發(fā)人員一定的時(shí)間去學(xué)習(xí)swagger或者集成swagger進(jìn)項(xiàng)目。
和后端對接,后端說:我不聽,你說的是錯(cuò)的我為什么要聽!小前端的我氣哭了,怎么辦?
在IT行業(yè)內(nèi),前端和后端之間的溝通確實(shí)經(jīng)常出現(xiàn)問題,出現(xiàn)問題的原因無非是三點(diǎn),其一是后端服務(wù)跟不上前端需求;其二是前端開發(fā)人員對于后端服務(wù)接口的理解有偏差;其三是接口設(shè)計(jì)不足,導(dǎo)致前端調(diào)用繁瑣且低效。
對于前端開發(fā)人員來說,要想與后端溝通順利進(jìn)行,首先要從理解中間接口入手,只有把接口搞清楚了,與后端的溝通才能夠順利進(jìn)行,而且責(zé)任劃分也會(huì)更清晰一些。通常來說,接口的定義都是由架構(gòu)師來完成的,也是在充分理解整個(gè)項(xiàng)目需求的基礎(chǔ)上進(jìn)行設(shè)計(jì)的,但是接口設(shè)計(jì)也是一個(gè)動(dòng)態(tài)的過程,并不是設(shè)計(jì)完之后就不改變了,所以當(dāng)中間接口不能滿足前端開發(fā)人員的需求時(shí),也可以先與架構(gòu)師溝通一下。當(dāng)然,在實(shí)際開發(fā)的過程中,有不少前端開發(fā)人員會(huì)直接跟后端提需求,后端大部分情況下也會(huì)根據(jù)需求來調(diào)整接口并給出實(shí)現(xiàn)。
目前很多項(xiàng)目的開發(fā)是前后端同時(shí)進(jìn)行的,由于前端開發(fā)通常效率要高一些,所以通常會(huì)出現(xiàn)前端推著后端走的情況,這對于后端開發(fā)人員來說,壓力還是比較大的,畢竟后端業(yè)務(wù)處理的過程還是相對比較復(fù)雜的。在實(shí)際開發(fā)的時(shí)候,后端開發(fā)人員通常會(huì)為接口提供一些模擬數(shù)據(jù),以便于前端人員調(diào)用。
最后,前端開發(fā)人員與后端進(jìn)行溝通的時(shí)候,要能夠把問題說清楚,而不是上來就要求后端人員進(jìn)行調(diào)整,因?yàn)楹蠖碎_發(fā)人員也是基于接口的要求來提供實(shí)現(xiàn)的,所以溝通的方式也是比較重要的。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計(jì)算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會(huì)陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會(huì)有所收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區(qū)留言,或者私信我!