移动端接口设计思想

情景描述:本人是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工作碰到的很多问题,不良的情绪总是可以导致工作效率低下,本来会做的事情,却做的很吃力。

     比如:这次合作开发,移动端开发者:嗓门很大,气势咄咄逼人。虽然理智知道他的修改建议很正确,可是自己心里有个魔鬼跳出来:他谁啊!为啥要听他的!导致自己很大的精力,被嗔怒的情绪所消耗。或者,开发中碰到一个完全没有接触过的东西,本人有时候会对自己不能掌控的东西,有种莫名的恐惧。这个恐惧的情绪,导致你不敢大步向前走,奋起直前解决问题。(果真生活中处处是修行啊!)

    

      生活所感,仅此小记



你可能感兴趣的:(日常项目遇到的坑)