rest - REST API URL 变量命名
问题描述
我想让人们通过不同的变量检索资源。例如,我想让他们通过电子邮件或 ID 搜索用户。
目前我正在使用:
https://my-api.com/get-user-by-email?email=xxx@yyy.com
和
https://my-api.com/get-user-by-id?id=xxx
这是一个好习惯吗?如果答案是否定的,我应该如何重命名此 URL 并提供验证,以便它只接受电子邮件和 ID?
解决方案
以这种方式命名您的资源不是一个好习惯。基本上,您威胁users
作为可以通过电子邮件过滤的资源集合,并通过唯一标识符 ( id
) 检索单个资源,因此 url 模式如下
通过电子邮件搜索
https://myco.api/users?email=xx@yy.com
按 ID 检索
https://myco.api/users/{id}
至于验证,这是实现,而不是接口问题,flask-restful 文档应该提供一些见解
推荐阅读
- php - 在php中获取视频文件的持续时间/长度
- build - 创建新的构建定义时,工作空间映射由什么构成?
- javascript - PDF 文件未下载或保存到文件夹
- javascript - 我的身份验证控制器搞砸了,错误显示一致
- python - 是否可以将散景中的图形轴类型设置为地理(长/纬度)?
- forms - 签名板发送空
- java - 如何验证下拉列表并将它们保存在数据库中,并且代码不显示错误
- reactjs - 使用 Material UI Components 的酶单元测试 onChange 方法
- sql - 如何序列化为json数组?
- windows - 如何将 ssh 设置到我的计算机的 github?