互联网金融乱弹2:互联网金融Webservice接口开发实践

互联网金融Webservice接口开发实践

1.      幂等性校验

幂等性的数学表达:f(f(x)) = f(x) 幂等性是系统接口对外的一种承诺。 

幂等性指的是,使用相同参数对同一资源重复调用某个接口的结果与调用一次的结果相同。 

而对于Webservice接口而言,幂等性的一个实现方案:

(1)      每个请求接口,要求传入一个流水号,建立操作流水表。在Webservice服务入口处,第一要判断,如果之前请求的流水号记录,处于处理中或者处理成功,那么直接return处理状态信息;如果之前请求都处理失败,那么允许后续服务处理逻辑,继续处理。

(2)      每一个资金动作都要记录流水serial,流水状态为成功,处理中,失败;后期账务对账需要用到。

(3)      建议放在AOP切面去做幂等性控制。

 

2.      校验输入参数

校验每一个必填的输入参数,如果有一个参数未填或者不符合格式要求,直接返回错误码,错误信息,记录log,直接return

 

3.      每一行代码单一职责原则以及异常处理

(1)      对于服务端健壮性而言,建议每一行代码只做一件事,即保证单一职责原则,不用或尽可能少用链式或者嵌套调用。

(2)      DAO层的单一职责:尤其是对于DAO操作和DAO层代码书写的时候,要保证每一行只做一件事,处理逻辑按一小步一小步操作。对于DAO层来说,如果查询不出值,要尽可能的返回NULL值直接return,或者抛出异常,而不是自己CATCH异常,或者让调用终止;对于增删改操作来说,要尽可能抛出异常,并记录日志,而不是自己CATCH异常。

(3)      对于SERVICE代码,要在能抛出异常的每一行分别TRY-CATCHCATCH到记录日志,roll back事务,直接return特定的错误码,以及错误信息;而不是将整个代码用一个TRY-CATCH包住,返回一个笼统的、无法辨识的错误信息;如果用到数据库链接,需要TRY-CATCH-FINNALLY,在final语句中,关闭连接。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值