最近自己写的小项目中用了resuful api,现在遇到了一些问题
问题1:假设有一个club表,这个表有三类人可以修改,分别是用户,社长,还有管理员
那么对于修改club表的url是 put/patch -> api/clubs
问题2:
有时候同一个用户的修改操纵都会有很多不同情况,比如不同状态之间的改变,有些状态改变了会涉及其他表的变化。感觉这些情况下restful不如直接表示语义的接口来的方便。想问下如果用restful改如果应对这种情况呢,如果先接受再判断那么我认为会很麻烦
没有绝对之分,要看实际controller层定位,如果controller层定位为业务处理层,可以在controller获取用户的角色,然后调用service接口,否则如定位是透传,可以在controller层调用service接口时传入登录对象,在service进行区分处理。
个人一般建议采用前者,底层业务逻辑不依赖具体的角色对象,更好地复用service接口,比如有些业务只区分用户和管理员角色,这样只需要修改controller,无需修改service。