【问题标题】:How to create API如何创建 API
【发布时间】:2011-04-02 03:06:44
【问题描述】:

我找到了很多关于如何实现 API 的教程,但实际上是如何创建 API 的呢?例如,我想从我的数据库中查询电影引用,并通过 API 插入新的引用。我知道 PHP 和 MySQL,但我缺少什么来制作 API?我阅读了 REST 方法,它看起来很简单,但我找不到分步指南。

有人可以分享一个创建简单 API 的示例或一些步骤吗?

【问题讨论】:

  • 当您查找 API 时,您发现了什么?你在看什么 API 定义?我们中的许多人都知道 API 是什么,但您的问题听起来好像您缺少 API 定义的某些部分。请提供报价或参考资料,让我们了解您认为“API”作为一种实用的编程方式意味着什么。也许是代码示例或有形的东西。
  • 一个网站 API。正如我所提到的,我正在尝试使用 Twitter 等 API 从我的网站数据库中进行查询。
  • 那么,您对“API”的定义是“像 Twitter”?
  • 抱歉,我是整个 API 概念的新手。一旦我了解更多信息,我可能会有所了解。

标签: php xml api rest


【解决方案1】:

值得阅读 Sarfraz 的文章来了解设计,然后了解机械/管道。一旦您了解了您的 API 是什么样子,请务必返回评估 REST frameworks available for PHP 或您正在使用的任何语言。在 2010 年,朋友们不要让朋友们自己修理自己的休息管道。

除了让它发送和接收 xml/json/etc. 之外,许多人都考虑过如何制作一个好的 API 的想法——worth reading up onimo。比我聪明的人说,出色的 API 在设计时首先考虑到了开发人员使用它们的方式……从那里开始,它们会倒退到消费者不应该关心的黑匣子中。

【讨论】:

  • 谢谢!这些链接将帮助我开始:)
【解决方案2】:

您可能对以下内容感兴趣:

【讨论】:

  • 谢谢!这也是我找到的唯一教程,但没有更多文档吗?我只是在寻找一个基本的框架。
【解决方案3】:

如果您不限于在 PHP 中实现 API,这里是 quick setup guide - 用于基于 NodeJS 的 REST API。这将讨论在 NodeJS 中实现一个简单的 ping API,构建它并将其发布到生产环境中。

先决条件

  • AWS 账户:在 AWS 上注册。您将获得 12 个月的免费套餐 – 这意味着您每个月都会收到对 API 的第一百万个请求 免费。
  • AWS 上的 IAM 用户:注册后,转到 AWS 上的 IAM 控制台创建一个 您自己的新 IAM 用户。转到新的安全凭证 用户,为该用户创建访问密钥和秘密密钥并下载 把它放在安全的地方。
  • 安装 AWS CLI。
  • 安装 AWS SAM。此处有详细说明。

设置您的代码库

设置一些本地环境变量以供以后使用

export AWS_REST_SERVICE_NAME=MyRestService
export AWS_REST_SERVICE_S3_BUCKET_NAME=MyRestService # This has to be unique globally

克隆我的示例存储库。这有一个用 NodeJS 8.1 编写的简单 ping GET Api

git clone https://github.com/sarthakj178/AWSRestServiceTemplate.git $AWS_REST_SERVICE_NAME
cd $AWS_REST_SERVICE_NAME
npm install

就是这样。您的 REST 服务是在本地设置的。测试一下。

sam local start-api # This will start your service locally on port 3000
curl -X GET "http://localhost:3000/ping" # On a different tab. Should return {"success":true,"message":"Hello world"}

发布到生产环境

aws s3 mb s3://$AWS_REST_SERVICE_S3_BUCKET_NAME
sam package --template-file template.yaml   --s3-bucket $AWS_REST_SERVICE_S3_BUCKET_NAME --output-template-file packaged.yaml
sam deploy --template-file ./packaged.yaml --stack-name $AWS_REST_SERVICE_NAME --capabilities CAPABILITY_IAM

在生产中验证您的服务

  • 转到 AWS 控制台 -> API Gateway -> YOUR_REST_SERVICE_NAME -> 阶段 -> 产品 -> ping -> 获取

  • 您将看到一个类似于 https://xxxx.execute-api.rr-rrrrr-r.amazonaws.com/Prod/ping.

  • 这是您的生产环境中的 REST 服务。点击它,你会看到一个 响应与您在本地桌面上看到的相同。

【讨论】:

    【解决方案4】:

    您可以在这里创建示例 api sample api

    【讨论】:

      猜你喜欢
      • 2013-08-24
      • 2011-09-30
      • 2015-12-23
      • 2013-05-09
      • 2018-12-13
      • 2017-09-04
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多