如何解决REST API设计和URL框架
我需要提出API开发的最佳实践,其中我们要开发100多个端点,并且每个端点都需要具有以下提到的属性,这些属性通常应作为请求传递给服务器
- 每个请求必须具有语言代码(en-us或en-ca),部门(hr或finance)和国家(美国或加拿大)参数
- 需要为web(v1)和ipad(v2)创建两个版本的apis
想通过考虑以上两点来了解构筑api URL的最佳方法是什么
我打算进行下面提到的版本控制,但是对于如何将上述2点纳入请求(请求参数,通过标头或请求主体本身)感到困惑
app/v1/api/url
app/v2/api/url
解决方法
我认为关于REST API设计有很多很好的资源,例如1 2。您应该阅读它们。
因此,我将对您的语言,地区和国家使用查询参数。这些就像跨大多数api共享的元数据一样。
app/v1/api/url?lang=en&div=hr&country=es
关于第二点,我不确定您是否应该区分不同的设备类型。但这可能是必要的。如果是这样,请从您的设备类型开始。因为它可能会帮助您使用权限框架。
app/v1/api/url
web/v1/api/url
或
app/api/v1/url
web/api/v1/url
希望这会有所帮助。
更新1
我喜欢@Evert的想法使用Accept-Language
,因为它是standard http header field,所以我认为更好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。