我正在设计一个 API(第一次),它将是一个非常公开的 API(用于免费在线服务)。
我正在考虑返回结构,例如InsertResult
哪个可以具有失败或成功时的属性(即多少行),错误消息等等。现在,另一种方法是从 API 插入方法中抛出异常。我知道这是一个“一般和开放”的问题,但是对于 API,什么被认为更干净和优美?
设想
API 是一个 DLL(它在内部调用和使用来自 4 或 5 个不同来源的 Web 服务,并且取决于地理位置等决定与哪个服务交互)。它是使用 C# 和 Mono 构建的。使用场景包括来自桌面、移动和 Web 客户端的 API 作为库。这确实是问题所在,假设一个离线用例,从网络客户端它根本不会发生,但从移动设备或桌面它可以(更频繁地从移动设备)那该怎么办?如何在离线时管理说插入调用以存储来自移动应用程序的模拟。或者当另一个(与服务器相关的)错误发生时。