restful api 该怎么取舍?

2018-12-10 23:33:44 +08:00
 mocxe2vwww

首先 client 认证获取到 token 带着 token 访问接口

现在有这样的一个接口,查看用户的基本信息

/user/info 默认不传参是查看自己的, 自己的 uid 是加密到 token 里面的,他看不到自己的 uid.

/user/info?uid=xxx 要查看其他用户的信息,就必须传 uid 查询参数了。

如果为了清晰统一 使用 /user/info/xxx 这样层级方式, 那必须要把当前用户自己的 uid 返回去了,这样做合适吗?

2448 次点击
所在节点    Python
9 条回复
srx1982
2018-12-10 23:40:09 +08:00
restful 应该是这样吧:/user/xxx/info
/user/info 就是自己的
/user/xxx/info 就是别人的
hbpeng
2018-12-10 23:42:39 +08:00
查看自己 /myself 查看他人 /users/id/info
mocxe2vwww
2018-12-10 23:42:51 +08:00
@srx1982 这么做,得写 2 个 view function 了吧。
mocxe2vwww
2018-12-10 23:45:46 +08:00
@hbpeng 用户信息的页面是共用的,我想的是能最好用一个接口方便了,前端不用做判断是看自己还是看别人
srx1982
2018-12-10 23:50:53 +08:00
@mocxe2vwww 是的,这么写是两个入口
我觉得如果返回的内容一样,就用一样的形式
srx1982
2018-12-10 23:52:28 +08:00
@mocxe2vwww 都用 /user/id/info 就好
jingyulong
2018-12-11 07:38:08 +08:00
一致性原则,要么都隐藏在 token 里,要么都显示出来。看不到自己的 UID,别人的 UID 就能看到,这个逻辑要来干什么大事吗。。。
cstome
2018-12-11 09:32:31 +08:00
我是这样设计的:

自己的信息:
```
GET /profile
```

单个用户信息:
```
GET /users/:id
```
hwding
2018-12-11 10:33:39 +08:00
应该统一 /user/{uId}/info,是不是自己由后面取 token 做判断,貌似好多站都是这样的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/516313

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX