对于Android应用程序,API服务器是否应该是无状态的?

问题描述

我正在创建一个餐厅评论应用。后端将有一个Spring Boot API服务器。 我可以在Spring Security中轻松地将无状态属性设置为:

{{1}}

现在最佳做法是什么?应该是有状态还是无状态?

如果它应该是无状态的,那么每个http api调用都需要重新认证,对吗? (我的意思是应用程序需要发送用户名密码)。

谢谢。

解决方法

使API调用变为无状态有很多优点:

  • 无状态使REST API的复杂性降低了,因为Web服务不需要维护客户端以前的交互
  • 无状态API也易于缓存
  • 无状态通过将API部署到多台服务器来帮助将API扩展到数百万并发用户
  • Web服务可以独立处理每个方法请求

无状态API调用的缺点在于,Web服务需要在每个请求中获取额外的信息,然后进行解释以获取客户端的状态。

客户端可以使用tokens来调用这些与每个请求一起发送的API。