API设计;行动终点

时间:2017-10-09 18:32:10

标签: rest api http

假设我有一台设备将连接到服务器并通过API注册/传输数据。

我知道你会有这样的事情:

GET: api/devices
GET: api/devices/:id
POST api/devices
DELETE: api/devices/:id

这些是典型CRUD端点的示例。

但是我会在哪里添加端点来检查是否允许此设备连接它的工厂ID?

我一直在考虑总是以设备ID的形式传递一个带有API密钥的帖子字段,但这会弄乱HTTP动词。

所以我认为最好的方法是添加一个这样的参数:

GET: api/devices/:id?id=something

但是这个端点会变得多余。

所以问题是;我如何成功识别自己的设备?

1 个答案:

答案 0 :(得分:1)

听起来您只是在寻找一种进行身份验证的方法。查看Authorization标头及其各种身份验证方案。如果现有的身份验证方案不符合您的需求,您也可以使用自己的身份验证方案扩展它。常见的是BasicDigestBearer。供应商扩展的示例是AWS