不确定我是否在这里正确使用了术语,但最好在示例中加以说明:
如果我使用API来获取给定区域中的人口计数,通常可以吗?
/population/{state}/{city}/{district}
或者我应该使用
/population/states/{state}/citys/{city}/districts/{district}
情况A ,API仅返回一个数字,具体取决于您指定的数量
情况B ,API仅返回一个数字,但是您必须始终指定每个变量,这意味着仅定义州和城市无效:
我认为最好选择更具解释性的方法。还是我可能会缺少其他逻辑?
答案 0 :(得分:1)
通常来说,对于REST端点,“ /”表示您正在访问子资源。因此,这实际上取决于您的尝试。
据我了解,您的主要目标是在给定多个参数的情况下检索总体。
因此,如果您谨记以下几点,那么/population/state/{state}/city/{city}/district/{district}
约定将起作用:
/population
:返回总人口/population/states/
:返回每个州的总人口/population/states/{state_name}
:返回的总人口
给定的州及其每个组成城市。请注意,我在子资源名称中使用了复数形式,即states
而不是state
。
但是,如果您只打算返回一个数字而不是细分,那么可以考虑以下替代方法:
获取 /population?state=stateName&city=cityName&district=districtName