请教关于 RESTFUL 风格 API 的设计

2021-06-01 21:36:55 +08:00
 risky

RESTFul 风格的 API 表现为操作资源, 如果返回的资源受到业务端口的不同或者权限的不同需要返回不同的内容该如何设计呢?

目前只想到以下几种

诸位还有什么更好的思路么......

1618 次点击
所在节点    程序员
7 条回复
join
2021-06-01 21:39:08 +08:00
不能这么设计,权限和接口应该分开。在认证时确立好权限,然后实现接口时返回不同的数据。
risky
2021-06-01 21:48:52 +08:00
@join 没太理解 "权限和接口应该分开" 是什么意思, 目前想的认证方式是 jwt 首次登录的时候, 权限字段封装在 jwt 里请求接口的时候判断权限, 纠结的点是应该是通过一个接口不同权限返回不同数据, 还是多个接口, 不同权限调用不同的接口......
no1xsyzy
2021-06-01 22:05:54 +08:00
权限应当只决定一件事:这个接口是否允许被调用。
我怀疑你的资源粒度还不够细。
join
2021-06-01 22:26:05 +08:00
@risky 你要是这么设计会被锤的。
接口尽量简洁,朴实无华且枯燥。你见过谁的 restful 是这样设计的?设计 restful 的第一原则就是别搞创新。
IvanLi127
2021-06-01 23:10:12 +08:00
判断权限复杂的话 你分接口就不复杂了吗(;` O´)o 应该有优化空间吧
Jooooooooo
2021-06-01 23:13:25 +08:00
api 接口设计第一原则, 命名尽量清晰, 不查文档就知道是干嘛的

剩下的随意, 比如全是 post 接口也没事, 不靠这个
xuanbg
2021-06-02 10:34:17 +08:00
@Jooooooooo restful 原教旨主义者即将到达……

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

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

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

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

© 2021 V2EX