我们正在开发一个中间件SDK,使用C++和Java两种语言编写,作为库/DLL供游戏开发者、动画软件开发者、Avatar开发者等使用,以增强他们的产品。我们已经创建了一个典型的API,使用特定的调用来实现特定的功能,但现在考虑通过使用REST类型API(GET、PUT、POST、DELETE)或CRUD类型(CREATE、READ、UPDATE、DELETE)接口来简化API。
这将类似于客户端-服务器类型的REST API,其中只有4个可能的API调用,但这些调用可以使用灵活的参数。这似乎有助于使API稳定,因为不会添加新的调用,也不会删除旧的调用。因此,API的使用者无需担心必须重新编译和更改其代码以适应我们的中间件更新。
然而,这样做的代价是在中间件控制器中多了一层重定向路由API调用,开发人员需要知道每个REST调用可用的参数(当然是提供的)。我迄今为止还没有看到这种系统在Web类型的客户端服务器应用程序之外使用,所以我的问题是:这是一个可行的想法吗?我考虑它的效率以及例如游戏开发者是否会发现它易于使用。
这将类似于客户端-服务器类型的REST API,其中只有4个可能的API调用,但这些调用可以使用灵活的参数。这似乎有助于使API稳定,因为不会添加新的调用,也不会删除旧的调用。因此,API的使用者无需担心必须重新编译和更改其代码以适应我们的中间件更新。
然而,这样做的代价是在中间件控制器中多了一层重定向路由API调用,开发人员需要知道每个REST调用可用的参数(当然是提供的)。我迄今为止还没有看到这种系统在Web类型的客户端服务器应用程序之外使用,所以我的问题是:这是一个可行的想法吗?我考虑它的效率以及例如游戏开发者是否会发现它易于使用。