我的 API 是 RESTful API 吗?

问题描述 投票:0回答:2

我一直在使用 Phalcon 开发我的网络系统,并添加了一个 API,可以通过该 API 发送订单并请求库存号码。

我是 Web 服务新手,所以只是想知道,我的 API 是 RESTful API 吗?

  • 所有请求都经过http://myurl.com/api
  • 所有请求都必须在请求标头中放置一个“API-Key”,用于身份验证。
  • 如果他们想下载股票编号,他们会发送“GET”到 http://myurl.com/api/stock
  • 如果他们想发送订单,请发送“POST”到 http://myurl.com/api/order,其中包含“data”参数,其中包含订单详细信息的 json_encoded 数组。

返回的数据通常是 200 状态代码,表示成功或失败(返回 401 的无效 API 密钥除外)。

rest
2个回答
3
投票

这个问题你可以自己回答。也许您的 API 是 RESTful API。
但在此之前,您需要了解一些事情...

  1. 什么是 RESTful 服务/编程..?
    我有一个很好且中肯的答案同样的

    这里总结了一些要点...
    • URI 是当今普遍存在的标识符选择。让 URI 来标识您想要公开的每个资源和服务。
    • 使用HTTP方法。
      Create
      Retrieve
      Update
      Delete
      分别由 HTTP
      POST
      GET
      PUT
      DELETE
      方法处理。
    • 使用以下适当的 HTTP 响应代码返回结果

HTTP Code Chart against type of HTTP Request

  1. 你们的 API 提供 JSON 和 XML 吗

    优先考虑 JSON 支持,除非您处于需要 XML、架构验证和命名空间的高度标准化和监管行业。并提供 JSON 和 XML,除非成本惊人。理想情况下,让消费者在使用 HTTP Accept 标头或仅将 URL 上的扩展名从 .xml 更改为 .json 之间切换。

    但请注意,一旦我们开始讨论 XML 支持,我们就开始讨论验证模式、命名空间等。除非您的行业需要,否则一开始就避免支持所有这些复杂性。 JSON 的设计目标是简单、简洁且实用。如果可以的话,创建您的 XML,使其看起来像这样。

    换句话说,使返回的 XML 更像 JSON:简单且易于阅读,不存在架构和命名空间详细信息,仅显示数据和链接。如果最终变得比这更复杂,XML 的成本将是惊人的。根据我的经验,在过去几年中没有人使用 XML 响应。就是太贵了,吃不起。

    阅读更多关于 RESTful API 应该如何

  2. 也请阅读对此answer的宝贵意见。这真的会有帮助。 (如果您想了解更多详细信息,也可以阅读答案)


现在,我认为您可以自己决定您的 API 是否是 RESTful API

1
投票

您的服务符合 HTTP 和 URI 标准吗?它提供标准的超媒体格式吗?您的客户是否遵循服务提供的超链接,而不是自己构建以下 URI 和方法?超链接和响应数据是否用元数据注释,客户端可以使用元数据来理解响应的含义以及如何处理它?您的客户是否在每次请求时都发送识别客户身份所需的信息?服务器完全重启后这些请求会起作用吗?

© www.soinside.com 2019 - 2024. All rights reserved.