我目前正在为带有RESTful核心5的ASP.NET API构建一个客户机,并对其进行修改(使用HttpClientFactory)。我有点困惑的是,如何划分API接口(为不同的API端点/资源编写多少个单独的接口)。
假设我们有一个具有以下端点的API,每个端点都有几个子路由(例如./{id}或./{id}/pets)和/或不同的HTTP动词:http://myhost/api/customers和http://myhost/api/employees
这里的最佳实践是什么,编写一个覆盖整个IMyHostApi的接口?还是最好将其划分为IMyHostCustomersApi和IMyHostEmployeesApi,然后添加具有相应基址的多个修改客户端?
对于上下文,客户端将被添加如下:
services
.AddRefitClient<IGitHubApi>()
.ConfigureHttpClient(c => c.BaseAddress = new Uri("https://api.github.com"));发布于 2021-12-22 17:30:34
如果您不想在一个巨大的接口中拥有所有的端点,您可以使用这个改装特性& https://github.com/reactiveui/refit#interface-inheritance。
在这种情况下,您的基本接口将从您分裂的接口中派生出来,并且您将有一个API入口点。并且所有端点在逻辑上都会被分割成单独的接口。
https://stackoverflow.com/questions/70432837
复制相似问题