我有一个 API,它根据提供的身份验证(登录)提供帐户资源。由于一个用户只能有一个账号,而且只能看到自己的账号,看不到别人的账号,所以这个API在所有情况下基本上都是一个单一的资源API。
所以为了简单起见,我在 url 下有这个资源accounts/
,当你访问时,accounts/?username=dude&password=veryhard
你会得到你的帐户数据(如果你不提供身份验证,你会得到 403)。
现在我想知道这是否是 RESTful 的。此外,您应该能够更新您的帐户信息,我想知道 PUT 是否合适。据我所知,PUT 应该在资源的唯一 URI 上完成。那么,这是资源的唯一 URI 吗?通常,帐户的 URI 看起来像帐户 IDaccounts/3515/
在哪里。3515
但是,用户不知道他们的帐户 ID。此外,应该有更多的登录方式,而不是用户名 + 密码,您还应该能够使用令牌(如accounts/?token=d3r90jfhda139hg
)。那么我们得到了 2 个指向同一个资源的 URL,这对于 RESTful URI 来说也不是很漂亮,是吗?
那么,什么是最 RESTful 的解决方案?还是我不应该这样做 RESTful?