我的问题是,在我的情况下(如下所述),为登录,注销和注册端点选择正确的映射类型有什么好的做法。
我正在使用以下技术堆栈编写项目
- MySql(Hibernate ORM)
- Spring Boot(带有休息控制器:Restful api)
- AngularJS(查看技术)
- 使用JWT令牌的Spring安全性
我的身份验证控制器具有以下端点:
- register - 如果具有给定用户名的用户不存在,则使用给定凭证注册用户,将认证设置为认证管理器,在http响应的头部返回JWT认证令牌,返回http状态OK,否则(用户已经)存在)409冲突
- 登录 - 如果登录凭据正确,则将身份验证设置为身份验证管理器,在http响应的标头中返回JWT身份验证令牌,返回http状态OK,否则401 Unauthorized
- 注销 - 如果具有给定凭据的用户在身份验证管理器中注册,则从那里删除它,返回http状态OK,否则205 No content
注册端点我知道我应该使用 POST 映射,但是对于登录和注销我相信我不应该使用 GET 映射,因为他们正在对身份验证管理器进行更改。