移動端介面設計思想
情景描述:本人是java後端開發,配合Android移動端開發 1.支付介面; 2.訂單支付狀態查詢介面。
問題:介面響應報文結構,自己設計出來後,總是和移動端需要的有很大的出入。
解決:
介面1:支付介面
支付只是一次請求,不包含任何業務引數。
移動端需要資訊:請求是否成功;如果失敗,失敗原因是什麼。
響應報文核心欄位:
retcode:SUCCESS/FAIL
retmsg: 支付成功/缺乏必須引數等。
可能的響應報文:
1.支付成功
retcode:SUCCESS
retmsg: 支付成功
2.通訊失敗
retcode:FAIL
retmsg: 網路斷開
3.通訊成功,交易失敗
retcode:FAIL
retmsg: 賬戶餘額不足
說明:此處的失敗是通訊失敗(網路斷開) 和 請求失敗(餘額不足)的並集,但是並不需要區分開,因為移動端不需要區分,他只關注支付成功或失敗。
介面2:支付狀態查詢介面
支付狀態查詢:不僅是一次請求,同時需要包含業務引數:支付狀態。
移動端需要資訊:請求是否成功;如果成功了,業務引數:支付狀態具體值。
響應報文核心欄位:
retcode:SUCCESS/FAIL
retmsg: 查詢成功/查詢失敗等。
payState: 0:支付成功 1支付失敗
可能的響應報文:
1.通訊成功且支付成功
retcode:SUCCESS
retmsg: 查詢成功
payState:0
2.通訊成功但支付失敗
retcode:SUCCESS
retmsg: 查詢成功
payState:1
3.通訊失敗
retcode:FAIL
retmsg: 網路斷開
說明:此處的失敗只是代表通訊失敗(網路斷開) ,只有通訊成功了,再去檢視 請求成功與否,從而獲取需要的業務引數:比如此處的支付狀態。
事後反思:
1.換位思考:明確這兩個介面是提供給移動端使用:如何設計才能讓移動端高效、快捷地拿到他想要的資訊。不要用自己java後端開發的思維定勢去設計。
2.與他人合作開發,觀照情緒,別被情緒拖著走:漸漸發現,IT工作碰到的很多問題,不良的情緒總是可以導致工作效率低下,本來會做的事情,卻做的很吃力。
比如:這次合作開發,移動端開發者:嗓門很大,氣勢咄咄逼人。雖然理智知道他的修改建議很正確,可是自己心裡有個魔鬼跳出來:他誰啊!為啥要聽他的!導致自己很大的精力,被嗔怒的情緒所消耗。或者,開發中碰到一個完全沒有接觸過的東西,本人有時候會對自己不能掌控的東西,有種莫名的恐懼。這個恐懼的情緒,導致你不敢大步向前走,奮起直前解決問題。(果真生活中處處是修行啊!)
生活所感,僅此小記