我正在设计一个API(第一次),它将是非常公开的(为免费在线服务)。
我在考虑使用诸如InsertResult
这样的结构返回,其中包含了它失败或成功时的属性(例如有多少行),错误消息等等。现在,另一种方法是从API插入方法中仅抛出异常。我知道这有点“通用和开放”的问题,但是什么被认为是更清洁和优化的API呢?
场景
该API是一个DLL(它内部调用和消耗来自4或5个不同来源的Web服务,并根据诸如地理位置之类的事情决定要与哪个服务进行交互)。它是用C#和Mono构建的。使用情景包括桌面,移动和Web客户端作为库使用该API。这确实是个问题,假设是离线用例,从Web客户端不会发生,但从移动或桌面上,则会(从移动上更频繁),那么怎么办呢?如何处理说从移动应用中插入调用以存储模拟数据的情况当它处于离线状态时。或者是当发生其他(服务器相关)错误时。