设计细节:接口输入参数要通用化

最近在定义一个接口时,需要根据不同的渠道类型返回不同的城市范围,大致的需求是如果是手机客户端则返回中国全部城市以及全球各个国家的TOP10城市,如果是web页面的话,则只返回中国热门城市以及全球各大洲的热门城市。如下:

是否返回 手机客户端 web页面
中国热门城市 Y Y
中国全部城市 Y N
各大洲热门城市 Y Y
各国家TOP10城市 Y N

需要在接口请求参数上进行区分,有两种方式分别如下:

  • 方式一:增加一个渠道类型参数(标识是”手机客户端“还是”web页面“)
  • 方式二:增加两个参数(“是否返回中国全部城市”和“是否返回各国家TOP10城市”)

从调用者角度,会觉得方式一比较方便明确;但从长远演进考虑,还是方式二会更佳,在这种方式下,前台和后台服务各自专注于自己的能力,不需要相互耦合逻辑,同时你会发现今后渠道类型越来越多的情况下(H5/Pad/API等),各渠道的差异五花八门,通过方式二后台接口将会更加通用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容