做SOA服务,当业务复杂后大约是会遇到这些问题。
- 一个服务有太多的接口,这些接口的参数过滤条件各不相同。
- 服务的业务上的异常很多,各自要返回不同的返回信息。
- 异常捕捉生产返回信息分散在各自接口,维护起来困难。
- 业务处理中,若有调用的内部逻辑有前后关系,前一个接口返回的为空判断,在业务复杂时会很多。
那么,什么是好的服务实现?
- 在请求进入处理逻辑前,可以捕获,并根据请求类型来做参数过滤。
- 业务异常,定义为代码“异常”。在返回时统一捕捉代码“异常”,根据异常类型来生成返回类型。
- 逻辑调用链,中返回的空,也做异常抛出。由返回处理逻辑统一处理。