android和REST API-用于管理用户和对服务器的请求的架构

时间:2019-07-07 21:31:22

标签: android rest authentication architecture

我为自己拥有的应用制作了REST API。我已经用JWT承载令牌保护了它。我已经为此应用制作了一个网站和一个android应用

该网站由ReactJS创建。我使用这种模式来处理用户和请求:

  1. 使用reducers和操作来更新状态
  2. 在每次请求前使用中间件检查令牌寿命,并在需要时刷新
  3. 使用高级组件检查用户是否有资格到达特定路线

相关项目放在一个地方。

现在进入Android应用程序。.

  1. 我的请求是通过okhttp在使用它的活动类内的方法中完成的。这是相当多的错误,因为有时我需要在该活动之外使用相同的方法。我尝试制作一个Request类,但是后来我无法使用它并将其设置为静态将无法使我能够使用runOnUiThread
  2. 用户已保存在sharedpreferences中。但是我并不是每次需要用户时都访问共享首选项是最佳的。我在主要活动中做了一个静态用户。其他所有需要它的活动都可以毫无问题地访问它。仍然越野车

是否有更好的方法来管理所有这些?目前,我的代码可以运行,但几乎是意大利面条。另外,我想在每个请求之前实现一些功能,例如检查令牌并在需要时刷新它,或者如果令牌过期则注销用户。我环顾四周,但没有看到任何有关android REST API架构的话题

tl; dr:我的用于处理用户和请求的android体系结构现在可以工作了。但这是越野车。我该如何改善?我已经可以实现一些已有的架构了吗?

1 个答案:

答案 0 :(得分:2)

您可以在Android上执行redux架构,以使您的应用程序更类似于ReactJs网站https://jayrambhia.com/blog/android-redux-intro

对于中间件,您可能希望使用拦截器,所以我意识到这对体系结构https://square.github.io/okhttp/interceptors毫无帮助

对于检查用户资格的高阶组件,在干净架构中会想到“用例”,您可以阅读此https://proandroiddev.com/kotlin-clean-architecture-1ad42fcd97fa或只是很好的“干净架构android”

enter image description here