关于restfulapi登陆接口url的设计

restful api在url的方面的设计是用http method来表示动作,url里面只有名词来表示资源。

在登陆方面如果是用session来做登陆的话,url可以写成/sessions,但是如果用jwt的方式如何表示restful风格的api呢?

在github api v3没有找到,不知道是不是看漏了,或者说不用可以遵守restful的规则,不能化解的直接用动词。

阅读 5.3k
3 个回答

[POST] /token 呗,比如 k8s 的 API 就是这么设计的。

确实有些行为不好定义成名词资源的形式,硬往上套反而不美,这种情况可以考虑 [POST] /XXX/action-YYY 的形式,其中 XXX 是资源名,YYY 是动词,例如 [POST] /passport/action-logout。这样以 action- 开头的是非 RESTful 风格的就一目了然了。

变通一些,/user/login这样的东西并没有什么问题,而且很清晰

登陆过程中创建了会话资源,可以这么定义

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