关于restapi的几个问题

api.example.com/book [get]代表列出所有书
api.example.com/book [post]新增一本书
我现在项目中用户登陆会获得一个token,来校验请求,上面两个例子,get方法无论登不登陆都可以调用,post方法需要校验token才可以调用。现在是用了一个拦截器进行检验,因为上面两个url是一样的,我必须在拦截器的逻辑里判断是什么请求才能做后面的工作,这样的情况一多,拦截器里不同的url和方法都需要写判断代码,感觉不好,有没有更好的思路?

阅读 2.5k
2 个回答

首先rest接口请用复数books,token可以戳在url参数中也可以戳在http header中,至于如何判断token权限,写在全局拦截器,肯定是要判断方法的

如果是使用Spring MVC的话, 可以自己写一个注解(比如: @CheckToken), 并配置AOP, 在controller层检测执行方法的注解, 如果带有这个注解则进行token的校验, 否则认为直接开放。
如果后台是Java, 建议使用Shiro来做这些事。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进