【问题标题】:How to work in Laravel app with external api?如何使用外部 api 在 Laravel 应用程序中工作?
【发布时间】:2020-08-11 22:45:34
【问题描述】:

在我的 Laravel 5.7/mysql 应用程序中,我需要制作外部 api 来从外部读取一些数据 带有获取请求的应用程序并通过发布请求将一些数据写入我的数据库。

有哪些工具/脚本可以解决这个问题以及如何确保这些请求安全?

修改: 感谢您的反馈,但看起来我的问题很糟糕 外部应用程序(我不知道它是用什么写的)需要从我的应用程序中读取数据 并将数据写入我的 Laravel 5 应用程序。

在本地开发时如何测试这些请求? 看起来我必须在提供的链接中使用 Guzzle? 为了安全起见,我应该采取哪些步骤?

谢谢!

【问题讨论】:

标签: laravel


【解决方案1】:

这三个库在您的用例中很受欢迎:

如果数据库是本地的,您可以使用 Eloquent,如果不是,远程连接到该数据库可能会有所帮助。否则,如果您只有 API 访问权限,您应该使用上述库中的八个或任何替代选项来发出您的应用程序可能需要的 HTTP 请求。

安全方面,只要您只是向远程服务器发出请求,建议的方法是将与授权您的请求(如果适用)相关的任何密钥或秘密字符串存储在您的 .env 中,以防止它被提交到您的版本控制系统。不用说总是处理远程 API 可能抛出的任何可能的 HTTP 错误,以防止应用程序端出现任何不需要的错误。

正如 Abir Adak 在评论中提到的,请查看thread 了解更多详情。

更新答案:在MODIFIED部分的情况下,通常你有3个流行的选项,

  • REST API

This blog post 是为 Laravel 编写的详细演练 This one from Stack Overflow 可以帮助您设计 API This last one 可以帮助您按照其规范开发广泛接受的 API 响应和端点。

  • GraphQL 可以节省一些时间来开发您的 API,但我建议确保您的 API 的使用者乐于使用此选项。 GraphQ Laravel Package for GraphQL 如果不是必须使用 Laravel,并且您使用的是 PostgreSQL,那么您可能还需要查看 Hasura

  • SOAP 对 Laravel 的这个选项知之甚少,只知道使用 C# 和 .net 编码的人更乐意使用这个协议公开他们的 API。在WikiPedia

  • 上阅读更多相关信息

Postman 是测试您的 API 或任何其他 API 的绝佳工具。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 1970-01-01
  • 2021-06-19
  • 2020-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多