溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何設(shè)計(jì)優(yōu)秀的接口協(xié)議

發(fā)布時(shí)間:2020-07-01 22:45:54 來源:網(wǎng)絡(luò) 閱讀:491 作者:榮一 欄目:開發(fā)技術(shù)

1、前言

接口協(xié)議指的是由前端(展示側(cè))同后端(業(yè)務(wù))確認(rèn)的實(shí)現(xiàn)不同需求需要前后傳遞的消息的內(nèi)容及格式。

2、接口的作用

1)將后臺(tái)服務(wù)信息展示給用戶,最典型的例子是首頁,用戶其實(shí)什么操作都沒有,打開就給用戶展示信息。

2)將用戶的選擇告訴給后臺(tái),例如搜索框的輸入,頁面的點(diǎn)擊信息。

3)將后臺(tái)的計(jì)算結(jié)果展示給用戶,例如搜索的結(jié)果,購物車的價(jià)格等。

3、接口是怎么制定的

當(dāng)一個(gè)需求拿到手之后,會(huì)由產(chǎn)品和前后臺(tái)開發(fā)一塊兒討論,根據(jù)UI圖來確定需要給用戶展示什么信息,用戶會(huì)有什么操作,用戶操作之后后臺(tái)的運(yùn)算邏輯,后臺(tái)運(yùn)算之后返回什么信息,整個(gè)流程如下

如何設(shè)計(jì)優(yōu)秀的接口協(xié)議


















在整個(gè)過程中用戶只是看到了信息,并由信息引導(dǎo)進(jìn)行一些操作,后臺(tái)根據(jù)用戶操作進(jìn)行運(yùn)算再將運(yùn)算后的結(jié)果返回給前臺(tái),給用戶以反饋。

知道了用戶的操作流程(也就是產(chǎn)品的交互流程),我們就可以理出來需要確認(rèn)接口的地方

1)第一步的展示信息請求接口(有可能是上一步操作計(jì)算的結(jié)果)

2)a. 用戶操作信息上傳接口

     b. 運(yùn)算結(jié)果展示

經(jīng)過上面的梳理,我們可以知道我們需要開發(fā)幾個(gè)接口以及接口要實(shí)現(xiàn)的功能,那么接口里面都有神馬內(nèi)容呢

4、接口信息的內(nèi)容

從信息流轉(zhuǎn)的角度看,一個(gè)是上行動(dòng)作(將用戶的操作或后端計(jì)算需要的參數(shù)上傳),一個(gè)是下行動(dòng)作(將后臺(tái)運(yùn)算結(jié)果和運(yùn)營數(shù)據(jù)給出)。

下行動(dòng)作既數(shù)據(jù)獲取,獲取哪些數(shù)據(jù),數(shù)據(jù)什么格式是由產(chǎn)品和UI決定的,例如,UI圖上標(biāo)示了名字,圖片,地址等信息,接口里是必須要有的。在這里要明確的一點(diǎn)是,前臺(tái)獲取數(shù)據(jù)后只做展示用,不能進(jìn)行任何計(jì)算和轉(zhuǎn)義,否則任何改動(dòng)都得發(fā)版解決,成本太高。

上行動(dòng)作既用戶操作信息,需要上傳的數(shù)據(jù)是用戶點(diǎn)擊了什么按鈕,一般來說不同按鈕會(huì)對應(yīng)不同的功能接口,如果同樣的按鈕對應(yīng)的功能不一樣的話,還需要告訴接口用戶是在哪個(gè)頁面的點(diǎn)擊,由后臺(tái)根據(jù)不同的頁面對提交的數(shù)據(jù)進(jìn)行不同的計(jì)算,這樣做的好處是,不許發(fā)版通過后臺(tái)傳遞數(shù)據(jù)的不同就可以展示不同的東西。

5、接口設(shè)計(jì)的原則

1)  下行數(shù)據(jù)純展示,前臺(tái)拿到數(shù)據(jù)后直接進(jìn)行繪制,不需要進(jìn)行計(jì)算和轉(zhuǎn)義,終點(diǎn)滿足的是產(chǎn)品的交互要求和頁面效果

2)上行數(shù)據(jù)明確化,能明確標(biāo)識去是哪個(gè)頁面哪個(gè)按鈕出發(fā)的功能,方便后臺(tái)更改業(yè)務(wù)邏輯

3)接口設(shè)計(jì)前瞻性,需求變化所有的人都遇到過,都會(huì)被整得很崩潰,需求變化很正常,需求變化說明還是有人在思考問題,需求沒變化,說明你做的是個(gè)沒人理的東西,程序員要擁抱變化,要改就配合改,產(chǎn)品沒上線之前,誰也不敢說這個(gè)改動(dòng)會(huì)不會(huì)就是產(chǎn)品的引爆點(diǎn)。

如何設(shè)計(jì)優(yōu)秀的接口協(xié)議


但是,擁抱變化,可不是傻傻的等通知,那叫被動(dòng)變化,接口設(shè)計(jì)要化被動(dòng)為主動(dòng),一個(gè)圖片的顯示與隱藏,就要想到其他圖片是不是也有變化的可能,一個(gè)字段順序的更改就要考慮其他字段的順序會(huì)不會(huì)變,一個(gè)文案的變化就要想到這個(gè)文案會(huì)不會(huì)隨時(shí)變。當(dāng)功能發(fā)生改變時(shí),一定要仔細(xì)想一想,他能改這個(gè)位置,其他位置會(huì)不會(huì)改,改了話我的接口是不是直接就支持。假設(shè)產(chǎn)品告訴你說要改需求,你們一看只要改個(gè)字段內(nèi)容就可以實(shí)現(xiàn),產(chǎn)品會(huì)對開發(fā)表示佩服,否則產(chǎn)品會(huì)覺得開發(fā)很low,一點(diǎn)點(diǎn)更改都得等發(fā)版,產(chǎn)品永遠(yuǎn)認(rèn)為能快速實(shí)現(xiàn)功能的人是牛人。


總結(jié),接口是功能開發(fā)的基礎(chǔ),我們要在根據(jù)業(yè)務(wù)的具體要求來設(shè)計(jì)接口的同時(shí),多想一步,多考慮一點(diǎn),來設(shè)計(jì)出更靈活更穩(wěn)定更優(yōu)雅的接口協(xié)議,好的接口協(xié)議會(huì)讓我們的開發(fā)效率提高N倍,是產(chǎn)品成功的重要基礎(chǔ)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI