(轉(zhuǎn))對外接口設(shè)計規(guī)范

1、接口禁止方法重載俺驶,重載會在做服務(wù)SLA控制幸逆,日志監(jiān)控等方面帶來不便

2、接口注釋必須清晰地表達(dá)如何使用暮现,接口是同步還是異步还绘,服務(wù)內(nèi)容,參數(shù)校驗規(guī)則(精度栖袋、長度拍顷、取值范圍等),返回值信息栋荸,異常情況菇怀;使用場景有要求的需要重點這幾個方面描述

a)不同使用場景,在注釋中區(qū)分描述

b)特定使用場景下的業(yè)務(wù)規(guī)則描述

c)特定使用場景下的注意事項描述

格式上參照注釋規(guī)范{*}

3晌块、接口返回值中屬性禁止使用枚舉爱沟,如果返回值屬性是枚舉類型,會為后期升級埋下隱患(由于枚舉序列化的特性導(dǎo)致

刪除枚舉值和增加枚舉值都可能導(dǎo)致客戶端反序列化失敗)匆背,建議提供String類型呼伸,取值范圍可以通過枚舉來告訴客戶端

禁止聲明方式

/** 強制還款標(biāo)志 */
private EnforceFlagEnum   enforceFlag;

/** 手工調(diào)級標(biāo)志 */
private AdjRiskFlagEnum   adjustRiskFlag;

建議聲明方式

/** 強制還款標(biāo)志,取值范圍見{@link EnforceFlagEnum}*/

private String enforceFlag;

/** 手工調(diào)級標(biāo)志钝尸,取值范圍見{@link AdjRiskFlagEnum}*/
private String   adjustRiskFlag;

4括享、接口參數(shù)涉及取值范圍選擇的(比如交易碼,渠道類型珍促,身份標(biāo)識)铃辖,需提供對應(yīng)的常量給客戶端使用,謹(jǐn)慎使用枚舉做入?yún)?/p>

唯一性控制屬性:a)如接口請求參數(shù)包含業(yè)務(wù)唯一性控制字段猪叙,需要對相關(guān)字段以及唯一性控制方式進行特別說明

b)若在唯一性控制基礎(chǔ)之上娇斩,涉及相關(guān)業(yè)務(wù)冪等控制處理,需要進行相關(guān)詳細(xì)描述

5穴翩、接口方法確保不對外拋出異常犬第,異常情況需要通過錯誤碼通知客戶端,處理失敗也需要有返回值芒帕,返回值實現(xiàn)可參考EcBaseResult及其子類實現(xiàn)

POM依賴

<dependency>
  <groupId>com.test.eccommon</groupId>
  <artifactId>eccommon-rpc</artifactId>
  <version>請用最新版本號</version>
</dependency>

9歉嗓、接口返回值中的方法盡量只提供基本屬性的get set方法,不要提供有業(yè)務(wù)規(guī)則含義的方法(因為業(yè)務(wù)邏輯的變化會要求客戶端升級jar包版本)

10背蟆、操作類的接口務(wù)必考慮冪等性控制鉴分,因為網(wǎng)絡(luò)重發(fā)哮幢,客戶端異常等都可能會引起重復(fù)調(diào)用,嚴(yán)重的可能會引起資損

根據(jù)業(yè)務(wù)約定的部分唯一性字段冠场,對多次請求的數(shù)據(jù)判斷是否重復(fù)提交的判斷依據(jù)家浇,比如通過外部訂單號outOrderNo做唯一性控制,在唯一性控制的基礎(chǔ)上碴裙,對請求中的其他字段進行判斷钢悲,

如果全部業(yè)務(wù)數(shù)據(jù)(或關(guān)鍵業(yè)務(wù)數(shù)據(jù))和已經(jīng)落庫的數(shù)據(jù)一致,則請求一次和請求多次都不會對業(yè)務(wù)處理產(chǎn)生影響舔株,返回結(jié)果不變莺琳,

如果outOrderNo關(guān)聯(lián)的其他信息與系統(tǒng)已經(jīng)持久化的數(shù)據(jù)不一致則提示XXX參數(shù)與原先的數(shù)據(jù)不一致。

11载慈、接口命名統(tǒng)一以Facade結(jié)尾惭等,個別的SPI接口可以使用別的結(jié)尾詞以便更好地表達(dá)SPI的要求,SOFA框架系統(tǒng)對外接口統(tǒng)一存放在xxx-common-service-facade

這個bundle下

12办铡、接口必須提供有效的監(jiān)控日志辞做,配置監(jiān)控報警規(guī)則監(jiān)控日志輸出見日志規(guī)范

13、敏感信息:接口返回對象屬性字段包含敏感信息寡具,需要做好標(biāo)識秤茅,進行相關(guān)提示避免客戶端打印到日志中去

金額:接口返回對象屬性涉及到金額,需要描述金額的單位以及對應(yīng)的幣種 統(tǒng)一使用支付寶金額類com.iwallet.biz.common.util.money.Money

Money所在jar坐標(biāo)

<dependency>
  <groupId>com.test.common</groupId>
  <artifactId>test-common-lang</artifactId>
  <version>2.0.9</version>
</dependency>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末童叠,一起剝皮案震驚了整個濱河市框喳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌厦坛,老刑警劉巖五垮,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異杜秸,居然都是意外死亡放仗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門撬碟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诞挨,“玉大人,你說我怎么就攤上這事小作⊥だ眩” “怎么了稼钩?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵顾稀,是天一觀的道長。 經(jīng)常有香客問我坝撑,道長静秆,這世上最難降的妖魔是什么粮揉? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮抚笔,結(jié)果婚禮上扶认,老公的妹妹穿的比我還像新娘。我一直安慰自己殊橙,他們只是感情好辐宾,可當(dāng)我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著膨蛮,像睡著了一般叠纹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敞葛,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天誉察,我揣著相機與錄音,去河邊找鬼惹谐。 笑死持偏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的氨肌。 我是一名探鬼主播鸿秆,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼儒飒!你這毒婦竟也來了谬莹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤桩了,失蹤者是張志新(化名)和其女友劉穎附帽,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體井誉,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡蕉扮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了颗圣。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喳钟。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖在岂,靈堂內(nèi)的尸體忽然破棺而出奔则,到底是詐尸還是另有隱情,我是刑警寧澤蔽午,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布易茬,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抽莱。R本人自食惡果不足惜范抓,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望食铐。 院中可真熱鬧匕垫,春花似錦、人聲如沸虐呻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斟叼。三九已至单芜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間犁柜,已是汗流浹背洲鸠。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留馋缅,地道東北人扒腕。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像萤悴,于是被迫代替她去往敵國和親瘾腰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,974評論 2 355