我目前正在用ASP为RESTful API构建一个客户端。NET Core 5和重新安装(使用HttpClientFactory(。我有点困惑的是,如何划分API接口(为不同的API端点/资源编写多少个单独的接口(。
假设我们有一个API,它具有以下端点,每个端点都有几个子例程(例如…/{id}或…/{id}/pets(和/或不同的HTTP谓词:http://myhost/api/customers和http://myhost/api/employees
编写一个涵盖整个API的接口IMyHostApi
的最佳实践是什么?还是最好将其划分为类似IMyHostCustomersApi
和IMyHostEmployeesApi
的内容,然后添加多个具有相应基地址的重新安装客户端?
对于上下文,客户端将像这样添加:
services
.AddRefitClient<IGitHubApi>()
.ConfigureHttpClient(c => c.BaseAddress = new Uri("https://api.github.com"));
如果你不想在一个巨大的界面中拥有所有端点,你可以使用这个重新安装功能-https://github.com/reactiveui/refit#interface-继承。
在这种情况下,基本接口将从拆分的接口派生而来,并且API将有一个入口点。所有端点将在逻辑上划分为单独的接口