我正在使用Express.js构建RESTful api。我们说我有一些Users
拥有Resources
。获取特定Resources
的{{1}}的好方法是:User
。
我为api实施了身份验证,因此可以从GET /users/:user_id/resources
而不是从网址获取user_id
。这意味着我可以使用req.user.user_id
从经过身份验证的用户获取资源。
我的问题:这是一种好的做法,为什么(或为什么不呢)?
答案 0 :(得分:1)
我认为,这是不好的做法。资源应该返回所有资源,而不是以任何方式过滤。我想说最好有一个额外的端点/user/resources
。通过这种方式,回复将是:
/users/15/resources
- 如果允许,将为用户15提供资源或403。/user/resources
- 将为经过身份验证的用户提供资源(如果我是用户15,则会给出与1中相同的响应。)或者404或403. /resources
- 将提供未过滤的资源(如果禁止,则只是不创建此端点,或仅返回公共资源)。