【问题标题】:Best approach for creating API for web, android, iOS application为 web、android、iOS 应用程序创建 API 的最佳方法
【发布时间】:2017-07-17 04:23:01
【问题描述】:

我正在一个项目中工作,该项目将有一个 web、android 和 iOS 应用程序。我决定使用 laravel 5.4 来创建 web 应用程序,并且还有其余的 api 来提供所有这些应用程序。 api 也应该受到保护,以便只有我的应用可以访问它们。

请根据您以前的经验告诉我什么是正确的方法和最佳实践

【问题讨论】:

  • 使用 JWT 或基于会话的令牌,它可以保护您的 api 调用
  • 这个问题对 SO 来说太宽泛了。您的问题的答案可以在 Laravel 文档中找到。但是,我会说 Laravel 是一个不错的选择。使用 Laravel Passport 进行身份验证,并在控制器方法中使用 $request->wantsJson() 来创建您的 API。
  • @Joe Niland 谢谢你的回答,我打算用 laravel api 路由创建 api,而且我的 web 应用程序将在 web 路由的同一个 laravel 项目上。这种方法会很好吗?你有什么建议

标签: php android ios laravel api


【解决方案1】:

您可以使用 Node.js 或 Python,您可以在其上轻松开发 REST API。Node.js 中的 express 和 python 中的 Flask 等框架将让您在 30 分钟内开始使用您的 API。也就是说,您可以将 API 部署到 Heroku 以获得安全访问

【讨论】:

    【解决方案2】:

    如果 web、android 和 IOS 应用程序涉及相同的项目/资源(例如数据库表等),最简单的方法是使用单个 Laravel 项目。

    在你的路由目录中,你可以have 3 different files(比如web.php、ios.php 和android.php)来定义路由。同样,您可以将控制器放在单独的目录中,同时保持 Eloquent 模型/迁移等对所有三个相同。

    要对这三个都使用不同的身份验证方法,您可以在 Laravel 中 add custom guards

    【讨论】:

    • 感谢您的回答。是否真的需要在路由目录下创建三个单独的文件,或者所有来自web、android和ios的api请求都可以在api.php路由中处理
    【解决方案3】:

    我不会在 larvel 中构建任何东西并尽快从 php 中逃跑。去学习 node.js 或 django。 php之死。

    目前构建 api 的最佳框架是 Sanic。

    Sanic 33,342 请求/秒 2.96 毫秒平均延迟

    https://github.com/channelcat/sanic

    我也喜欢 python flask,因为它很容易理解并且可以快速启动和运行。

    您的应用程序目前不需要超级优化,您只需要开始工作即可,但最佳实践我认为为移动应用程序构建 api 最重要的是向后兼容性。

    有时您会想要更新您的应用。 用户通常不会更新应用程序。因此,如果您构建一个新的 api,所有不更新其应用程序的人都会收到错误消息。因此,只需确保在应用程序的前缀中使用版本名称创建新路由。你可以做很多其他的事情,比如限速、加盐你的 api 等等。如果您没有那么多用户,请不要担心这一点。只需构建它,然后在需要学习时再学习。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 2021-07-25
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      相关资源
      最近更新 更多