0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡單了解APP接口中的版本控制

454398 ? 來源:博客園 ? 作者:奔跑的man ? 2020-11-03 10:42 ? 次閱讀

說說APP接口中的版本控制

引言

接口是APP的重要組成部分,數(shù)據(jù)是APP的核心,接口是連接APP和數(shù)據(jù)的紐帶。一般情況下,APP中會(huì)有大量的接口,再加上版本的變化,接口的升級(jí),一個(gè)接口可能會(huì)衍生出很多個(gè)稍有差異的接口,這個(gè)時(shí)候接口如果維護(hù)的不好,后邊會(huì)亂為一鍋粥,客戶端不同版本使用不同的接口名(xxxv1,xxxv2,xxxv3.。。。。)

這個(gè)對(duì)客戶端來說貌似是很蛋疼的事情,如果能把版本控制完全放到服務(wù)端是不是更友善點(diǎn),也會(huì)比客戶端靈活很多,發(fā)版出去之后也可以很優(yōu)雅的修改。

設(shè)計(jì)

這個(gè)并非我憑空想出來的,是在公司里面開發(fā)的時(shí)候無意中發(fā)現(xiàn)的,覺得設(shè)計(jì)的還挺好,整理總結(jié)了下,拿出來分享下。知識(shí)應(yīng)該是開源共享的。

客戶端發(fā)出去的版本token是固定不變的。

這里面有下面幾個(gè)要點(diǎn):

token,使用token間接的標(biāo)記請求的接口版本,這么做也在一定程度上防止了很多無用的請求,如果使用的是https傳遞信息,就更安全了,根本截獲不到這個(gè)tokenserver中的token =》 interface versionmap,保存了token和對(duì)應(yīng)接口的版本號(hào),請求來了之后會(huì)先根據(jù)這個(gè)尋找對(duì)應(yīng)的接口版本。

interface{num}目錄,每個(gè)目錄對(duì)應(yīng)一個(gè)版本,根據(jù)請求的接口讀取對(duì)應(yīng)目錄下的接口配置文件,找到最終要執(zhí)行的具體接口。

http://xxxx.xxxx.com/module/controller/list?token=6918b5e0567c7d47314c10ed413e3f95這個(gè)請求最終會(huì)打到listv2這個(gè)接口。

這樣就可以在服務(wù)端靈活的配置接口了,客戶端只要每次請求的時(shí)候帶上默認(rèn)的token參數(shù),就可以得到自己想要的了,完全不需要關(guān)心版本的問題。

擴(kuò)展設(shè)計(jì)

當(dāng)然了,如果還有其他信息的話也可以帶在token中,比如說客戶端操作系統(tǒng)類型,我們可以將token擴(kuò)展為{clientType}_token,這樣token中就附帶了客戶端的信息,可以很輕松的獲取到客戶端類型,根據(jù)不同的類型也可以做一些想做的事情。

總結(jié)

還是那句話,有些司空見慣的東西并不是想象的那么簡單,可能也是前輩門經(jīng)過多次總結(jié)優(yōu)化出來的。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8366

    瀏覽量

    150548
  • APP
    APP
    +關(guān)注

    關(guān)注

    33

    文章

    1562

    瀏覽量

    72275
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    了解TYPE-C接口背后的秘密

    TYPE-C接口中主要包含如下信號(hào),主要組成可分PD電源和數(shù)據(jù)傳輸兩大部分,我們先從電源部分開始了解TYPE-C背后的秘密。
    的頭像 發(fā)表于 11-18 14:52 ?3146次閱讀
    <b class='flag-5'>了解</b>TYPE-C<b class='flag-5'>接口</b>背后的秘密

    【MiCO分享貼】APP控制單元門鎖,簡單實(shí)用!

    一直對(duì)物聯(lián)網(wǎng)很感興趣,很幸運(yùn)第二批申請到了,拿到板子眼前一抹黑除了認(rèn)識(shí)板子,其余什么云什么APP全都是文盲,也不能讓板子白瞎了,按教程就做出了這個(gè)簡單的應(yīng)用。后續(xù)要學(xué)的東西很多,抽空會(huì)繼續(xù)研究
    發(fā)表于 09-09 09:06

    APICloud SDK新版本發(fā)布,開發(fā)APP更快更簡單

    狀態(tài)的獲取和控制指令的發(fā)送。APICloud機(jī)智云模塊更新說明當(dāng)前版本變更內(nèi)容:版本號(hào)為1.3.0,原生SDK為2.04.04版本SDK啟動(dòng)接口
    發(fā)表于 03-13 18:43

    如何快速開發(fā)一個(gè)簡單好看的APP控制頁面(物聯(lián)網(wǎng)平臺(tái))

    簡單好看的控制頁面。[ 1、了解機(jī)智云物聯(lián)網(wǎng)平臺(tái)開源框架 ]在開發(fā)一個(gè)簡單好看的APP控制頁面前
    發(fā)表于 07-01 14:46

    如何使用官方提供的APP控制多路接口

    上一期介紹了如何使用語音助手控制多路接口,這一期將為大家介紹如何使用官方提供的APP控制多路接口。1、A
    發(fā)表于 11-03 08:51

    請幫助了解SDK版本或任何為I2C接收和傳輸啟用FACK的參考代碼?

    我們在從機(jī)上使用帶有 I2C 接口的 MKL27Z 微控制器。 SDK(參考源代碼)確實(shí)禁用了 FACK,但是我們正在尋找 FACK 啟用,以便 ACK/NACK 可以成為 I2C 接口中
    發(fā)表于 06-01 08:38

    腦機(jī)接口中基于VxWorks的ARM嵌入式系統(tǒng)

    腦機(jī)接口中基于VxWorks的ARM嵌入式系統(tǒng)
    發(fā)表于 03-29 12:27 ?15次下載

    APP接口版本不兼容怎么辦? 教你一招

    iOS和android 要不斷開發(fā)新版本,很多服務(wù)端開發(fā)都是在以前接口的邏輯上進(jìn)行修改。新的APP接口開發(fā)后,接口如何兼容老的
    發(fā)表于 05-29 01:31 ?8242次閱讀
    <b class='flag-5'>APP</b><b class='flag-5'>接口</b><b class='flag-5'>版本</b>不兼容怎么辦? 教你一招

    ADC時(shí)鐘接口中的最小抖動(dòng)

    ADC時(shí)鐘接口中的最小抖動(dòng)
    發(fā)表于 05-09 12:19 ?6次下載
    ADC時(shí)鐘<b class='flag-5'>接口中</b>的最小抖動(dòng)

    Flash存儲(chǔ)器在單片機(jī)接口中的應(yīng)用綜述

    Flash存儲(chǔ)器在單片機(jī)接口中的應(yīng)用綜述
    發(fā)表于 06-29 10:26 ?27次下載

    使用Blinker APP+NodeMCU控制多路接口

    上一期介紹了如何使用語音助手控制多路接口,這一期將為大家介紹如何使用官方提供的APP控制多路接口。1、A
    發(fā)表于 10-28 12:36 ?13次下載
    使用Blinker <b class='flag-5'>APP</b>+NodeMCU<b class='flag-5'>控制</b>多路<b class='flag-5'>接口</b>

    為什么要在串行通信接口中設(shè)置地線呢

    在串行通信接口中,為何要設(shè)置地線?
    的頭像 發(fā)表于 02-02 17:47 ?3155次閱讀

    幾種不同的物聯(lián)網(wǎng)控制APP模式

    本文就簡單介紹當(dāng)前幾種物聯(lián)網(wǎng)控制APP模式,讓大家了解幾種不同的技術(shù)路線。
    的頭像 發(fā)表于 04-10 10:58 ?4522次閱讀
    幾種不同的物聯(lián)網(wǎng)<b class='flag-5'>控制</b><b class='flag-5'>APP</b>模式

    AN5507_STM32H7 系列閃存接口中的循環(huán)冗余校驗(yàn)

    AN5507_STM32H7 系列閃存接口中的循環(huán)冗余校驗(yàn)
    發(fā)表于 11-21 08:11 ?0次下載
    AN5507_STM32H7 系列閃存<b class='flag-5'>接口中</b>的循環(huán)冗余校驗(yàn)

    接口中的有效數(shù)據(jù)類型和布局

    接口中包含有塊所用局部變量和局部常量的聲明。這些變量可分為以下兩組。
    的頭像 發(fā)表于 06-10 11:33 ?907次閱讀
    塊<b class='flag-5'>接口中</b>的有效數(shù)據(jù)類型和布局