一.首先明白什麼是先後端?html
前端:前端即網頁前臺部分,運行在 PC端,移動端等以瀏覽器的方式展示給用戶瀏覽的網頁,我本身的理解是拆開的:前指可視的樣子就像人與人相交流,端指設備終端。前端
後端:簡單來講,後端開發就是開發人員編寫的不能直接看到的代碼。後端主要負責應用程序中的業務邏輯,以及從前端提取和檢索數據。還有就是是從數據庫或其餘數據源寫入、讀取和處理數據。數據庫
二.什麼是先後端分離開發模式?json
先後端分離的開發模式:系統分析階段,系分和前端開發人員約定好頁面上所需的邏輯變量,進入功能開發階段,前端開發人員進行前臺頁面結構,樣式,行爲層的代碼編寫,並根據約定好的變量,邏輯規則,完成不一樣狀況展現不一樣的表現。然後端開發人員,只須要按照約定,賦予這些變量含義,並提供先後端交互所須要的數據便可。後端
三.如何實現先後端良好的聯調協做那?api
溝通:項目開發以前,儘量主動的和系統分析師和交互設計師多溝通,肯定頁面中交互與服務器端交換數據的接口、方式、格式等,讓先後端約定更豐滿一些。由於她越豐滿,後面的糾結就越少。瀏覽器
協做:功能開發過程當中,須要創建一個共同調試的環境,方便先後端同窗協同開發。服務器
接口文檔:一個規範的接口文檔在先後端聯調協做的時候相當重要。markdown
四.爲何要寫接口文檔?前後端分離
一、項目開發過程當中先後端工程師有一個統一的文件進行溝通交流開發
二、項目維護中或者項目人員更迭,方便後期人員查看、維護
五.接口規範是什麼?
一、方法:新增(post) 修改(put) 刪除(delete) 獲取(get)
二、uri:以/a開頭,若是須要登陸才能調用的接口(如新增、修改;前臺的用戶我的信息,資金信息等)後面須要加/u,即:/a/u;中間通常放表名或者能表達這個接口的單詞;get方法,若是是後臺經過搜索查詢列表,那麼以/search結尾,若是是前臺的查詢列表,以/list結尾;url參數就不說了。
三、請求參數和返回參數,都分爲5列:字段、說明、類型、備註、是否必填
字段是類的屬性;說明是中文釋義;類型是屬性類型,只有String、Number、Object、Array四種類型;備註是一些解釋,或者能夠寫一下例子,好比負責json結構的狀況,最好寫上例子,好讓前端能更好理解;是否必填是字段的是否必填。
四、返回參數結構有幾種狀況:一、若是隻返回接口調用成功仍是失敗(如新增、刪除、修改等),則只有一個結構體:code和message兩個參數;二、若是要返回某些參數,則有兩個結構體:1是code/mesage/data,2是data裏寫返回的參數,data是object類型;三、若是要返回列表,那麼有三個結構體,1是code/mesage/data,data是object,裏面放置page/size/total/totalPage/list 5個參數,其中list是Arrary類型,list裏放object,object裏是具體的參數。
6.生成接口文檔的工具備哪些
1.swagger:經過源代碼註釋生成接口文檔的工具
2.apipost:經過對接口測試,返回的響應生成接口文檔。能夠生成在線版,html、markdown、word等格式的接口文檔。
這裏我通常使用apipost,由於它既能夠驗證接口是否正確,還能夠生成各類格式的接口文檔。還能讓前端人員一塊兒在一個團隊協做進行聯調。ApiPost