【发布时间】:2021-09-11 23:40:49
【问题描述】:
对于列出资源的 RESTful API,我有一个方法如下:
GET - /cars
它返回一个汽车列表,可能还有一个分页标记。
我想提供一个查询参数来过滤这些结果,例如make。例如:GET - /cars?make=Toyota。
但是,由于我正在使用的系统的技术限制,此查询参数只能提供给具有一定权限的用户,具体取决于他们的角色。
如果有这样的 API 资源基于请求有效负载(而不仅仅是资源)进行授权,那么它是 RESTful 吗?
另一种方法似乎是支持make 查询参数的单独资源GET - /cars/filter。但是,我不确定如何命名此资源,因为 filter 是动词,而不是名词。
【问题讨论】:
-
关于 REST 的原始论文和 RFC 7231 都没有说明必须如何进行授权。回答标题中的问题:绝对可以。实际上,filter 也是一个名词 ;)
标签: rest api-design