_zhylu_ 2020-03-23 14:49 采纳率: 0%
浏览 472

restful api 不同角色访问同一url路径的问题

最近自己写的小项目中用了resuful api,现在遇到了一些问题

问题1:假设有一个club表,这个表有三类人可以修改,分别是用户,社长,还有管理员

那么对于修改club表的url是 put/patch -> api/clubs

  1. 如何区分是哪一类用户提交的修改,是在controller层做区分,还是service层,如何区分
  2. 如果用户、社长、管理员表示一种角色,那么在角色数量比较多的时候有什么比较好的方法处理区分
  3. 如果不需要区分,那么有什么比较优雅的方式解决这个问题呢

问题2:

有时候同一个用户的修改操纵都会有很多不同情况,比如不同状态之间的改变,有些状态改变了会涉及其他表的变化。感觉这些情况下restful不如直接表示语义的接口来的方便。想问下如果用restful改如果应对这种情况呢,如果先接受再判断那么我认为会很麻烦

  • 写回答

1条回答 默认 最新

  • Json-Huang 2020-03-23 21:00
    关注

    没有绝对之分,要看实际controller层定位,如果controller层定位为业务处理层,可以在controller获取用户的角色,然后调用service接口,否则如定位是透传,可以在controller层调用service接口时传入登录对象,在service进行区分处理。

    个人一般建议采用前者,底层业务逻辑不依赖具体的角色对象,更好地复用service接口,比如有些业务只区分用户和管理员角色,这样只需要修改controller,无需修改service。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料