编写资源以从 RESTful API 中的国家/地区获取州的正确方法?

Correct way to write a resource to get states from a country in a RESTful API?

在列出一个国家/地区的州时,我怀疑这两个选项中的哪一个是正确的。

组态合集
[得到] /location/states?country={country_id}

或者

集团国家合集
[得到] /location/country/{id}/states

写得好RESTfulAPI?

如果您的域模型仅将 states 作为资源而不是 countries,您可以选择第一个选项。您会将 states 公开为资源并按 country 过滤它们。还要考虑这是否会改变,即 countries 可能会在某个时候成为资源?

如果国家被认为是资源,这意味着它们可以不仅仅是一个ID来表示,那么我认为第二个选项是两者的正确选择。

API设计不是非黑即白的,所以我想说没有绝对正确的答案,这取决于上下文。