Java介面定義規範,摘自曉風輕專欄

2021-08-14 03:20:41 字數 2112 閱讀 4550

1. 返回格式不統一

同乙個介面,有時候返回陣列,有時候返回單個;成功的時候返回物件,失敗的時候返回錯誤資訊字串。工作中有個系統整合就是這樣定義的介面,真是辣眼睛。這個對應**上,返回的型別是map,json,object,都是不應該的。實際工作中,我們會定義乙個統一的格式,就是resultbean,分頁的有另外乙個pageresultbean

錯誤範例:

//返回map可讀性不好,盡量不要@(

"/delete"

)public

map<

string

,object

>

delete

(longid,

string

lang

)// 成功返回boolean,失敗返回string,大忌@(

"/delete"

)public

object

delete

(longid,

string

lang

)catch

(exceptione)

}

2. 沒有考慮失敗情況

一開始只考慮成功場景,等後面測試發現有錯誤情況,怎麼辦,改介面唄,前後臺都改,勞民傷財無用功。

錯誤範例:

//不返回任何資料,沒有考慮失敗場景,容易返工@(

"/update"

)public

void

update

(longid,

***)

3. 出現和業務無關的輸入引數

如lang語言,當前使用者資訊 都不應該出現引數裡面,應該從當前會話裡面獲取。後面講threadlocal會說到怎麼樣去掉。除了**可讀性不好問題外,尤其是引數出現當前使用者資訊的,這是個嚴重問題。

錯誤範例:

// (當前使用者刪除資料)引數出現lang和userid,尤其是userid,大忌@(

"/delete"

)public

map<

string

,object

>

delete

(longid,

string

lang

,string

userid

)

4. 出現複雜的輸入引數

一般情況下,不允許出現例如json字串這樣的引數,這種引數可讀性極差。應該定義對應的bean。

錯誤範例:

// 引數出現json格式,可讀性不好,**也難看@(

"/update"

)public

map<

string

,object

>

update

(longid,

string

jsonstr

)

5. 沒有返回應該返回的資料

例如,新增介面一般情況下應該返回新物件的id標識,這需要程式設計經驗。新手定義的時候因為前台沒有用就不返回資料或者只返回true,這都是不恰當的。別人要不要是別人的事情,你該返回的還是應該返回。

錯誤範例:

// 約定俗成,新建應該返回新物件的資訊,只返回boolean容易導致返工@(

"/add"

)public

boolean

add(

***)

附上resultbean,沒有任何技術含量:

@data

public

class

resultbean

<

t>

implements

serializable

public

resultbean(t

data

)public

resultbean

(throwablee)

}

介面定義(REST full)規範總結

為風格統 一 便於理解,本介面文件遵循以下原則 一.返回json資料結構定義 訊息結構體 2000返回示例 4001返回示例 二.錯誤碼定義標註 定義規則 錯誤碼由四位組成 前兩位標識型別,後兩位標識具體錯誤 20xx 服務正常,並返回。最常使用的是2000 40xx 客戶端問題,介面引數 許可權等...

python介面定義規範化 對介面規範的一些思考

起因 團隊中如果不同的專案,不同的人員可能在介面設計上有許多不統一的地方。導致了開發效率低下的問題。由於我在工作中遇到了,所以整理下來,說一說自己的一些看法。怎樣進行介面規範化 因為每個人對自己使用語言有不同的理解 http協議熟悉程度不同 思維邏輯 開發經驗不一樣。對介面規範有想法的人應該提出自己...

APP介面設計規範 如何定義視覺規範

時間 2015 09 10 16 38 34 devstore 原文 墨刀 axure after effect 用來製作互動複雜的產品原型。第一階段 概念設計和原型設計 包括腦圖設計 線框圖的設計等等。第二階段 視覺定義階段。確定了使用哪些字型 顏色 布局 形狀等元素。主要頁面的布局與視覺風格需要...