我的下一个项目要求我同时开发移动和网站应用程序。为了避免重复代码,我正在考虑创建一个这两个应用程序都可以使用的 API。
我对此的问题是:
- 这种方法是否合理?
- 是否有任何框架可以帮助我解决这个问题?
- 我将如何处理身份验证?
- 这是否会影响可扩展性?
您的问题的答案是 -
- 是的,可能,事实上这对我来说非常有意义。
- 是的。我目前正在使用 Web
django
和 REST APIdjano-rest-framework
。两者都在同一个项目中,它们共享相同的model
和querysets
。网址是正常的,API 网址以/api
开头
对于 - Web,我使用正常的基于会话的身份验证,对于 REST API,我使用令牌身份验证
- 到目前为止没有。网络和 API 都非常适合我。部署在 3 个生产环境中。
链接-
姜戈
Django-rest-framework
-
其实我说的没多大道理。根据我的经验,我知道移动应用程序和网页即使使用相同的后端,也经常需要完全不同的数据集,并且 - (我知道过早优化是万恶之源) - 移动应用程序的调用次数应最小化,以使它们顺利运行。我会将移动 API 与经典的 REST API 分开,即使有前缀,例如
/api/m/
和/api/
. -
在许多技术中确实有很多框架。 例如 spring, django-rest-framework, express.js.随心所欲。
-
令牌身份验证将是最佳选择。适用于网络和移动设备。对于一般的 REST。
-
现在应该不是你的事。