restful 规范的一些疑问
在前后端分离的项目中使用 restful 路由,比如个人中心 /users/{id}
这样的 URL,如果客户端没有保存当前用户ID的话怎么办,这个{id}怎么传过去呢?
就算客户端存了 userId,那么如果需要在用户静态文档里展示用户中心的链接呢,不可能
http://域名/users/{id}
这样展示吧,因为用户看不懂,也不可能http://域名/users/100
这样展示吧,因为每个用户的ID都不一样。
又比如用户登录 /login
这样的 URL,它也算是 restful 吗?如果是,那么这里的 login
算是个什么资源。如果不是,那我们使用 restful 又不能整站使用,那它还有什么意义,强迫症总想统一规范。
另外有没有其他能代替 restful 整站能够统一规范的?
这几天看别的站点发现这样的 Api URL:http://x.com/api/pay.member.info ,这种点点点的 URL 用的是什么规范?
可以参考下 gayhub 的 api,,,
graphql了解下 :grin:
识别用户身份的不一定是
id
,也可能是uuid
,或者是token
。资源通常是名词,见过用sessions
,也有authorizations
。并不是一定要用restful
,只能说是目前最流行的一种规范,事实上很多公司还在用get
、post
一把梭。个人中心可以用
另外客户端没有保存的话,也可以让他们存啊,这不是很容易做到的吗!
login 可以使用
或是:
网页的话 login 是为了让用户好理解,也没毛病。
@Summer 好的,谢谢老大。
但总感觉
/users/me
这里的 me 好像不符合 restful 规范哦,现在我们用的就是/users/me
。auth/login
的话,auth 是单数,users 是复数,这样好像又有点乱吧。总感觉 restful 这个东西有太多的不足哦。
只是尽量向RESTFul靠罢了,不可能完全规范的,就像你数据库设计不能完全遵循三范式一样