两个独立的异构资源的最佳 RESTFUL api 设计是什么

what is the best RESTFUL api design for two independent hetrogenous resources

我刚刚看了一个 video,它说像那样创建 API 是一种不好的做法

/applications/getUser

/applications/deleteUser

/applications/getUser天气

根据我的理解,创建类似 User 的东西并初始化 post、正确获取、放置、删除是一个很好的设计。

但是,如果在我的 android 应用程序中有一个页面显示除天气之外的所有用户,我是否应该将这两个独立资源合并为一个名为 UsersAndWeathers(GET) 的 API 或创建一个名为 getUsersAndWeather 的。或者我应该创建两个单独的端点并让 android 应用程序并行调用这两个端点吗?

我知道所有的解决方案最终都会奏效,但哪个是最好的设计?

制作小 single-purpose API 端点很好,因为并非每个客户端都可能同时需要这两个端点,结果可能以不同的速度出现,并且可能有不同的规则需要刷新它们。一般而言,您不想将每个 API 响应组合成一个巨大的响应。

HTTP 请求并没有那么昂贵,因此您的默认设置应该是创建 2 个端点,例如

/users
/weather

在某些情况下,组合响应是个好主意,但只有在有这样的理由时才应考虑制作这些组合端点。在那之前,做简单的事情。

如果您确实发现减少请求是您以后需要做的事情,我建议您查看标准 JSON 响应格式,例如 HAL 和 JSON:API,因为它们都有 built-in 支持此 use-case.

的语法