细粒度与粗粒度 REST API

Fine grained vs coarse grained REST API

我正在开发用于管理用户的 REST API。每个用户都有姓名和自己的联系人列表(姓名、类型、值)。我正在考虑两种对 REST 进行建模的方法 API,粗粒度方法:

或细粒度方法:

何时应该选择细粒度方法而不是粗粒度方法?

这个决定取决于您的 API 将如何消耗。如果此 API 的主要功能是跟踪用户的联系人,那么我认为采用细粒度方法是有意义的。

作为 API 的使用者,细粒度方法具有与粗粒度方法相同的功能,但还添加了更具体的端点。这样想,作为后端开发人员,您知道联系人嵌套在用户对象中,但 API 的消费者不知道,也不需要知道。他们只知道用户与其联系人之间存在某种关系。

此外,细粒度方法将使您的后端代码井井有条。您将为 API 提供的每个端点提供特定方法,因此代码将更易于阅读和理解。您还可以获得更细粒度和更干净的错误处理。