我的API是RESTful API吗?

时间:2015-02-14 00:11:57

标签: api rest

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

我是网络服务新手,所以只是徘徊,我的API是RESTful API吗?

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

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

2 个答案:

答案 0 :(得分:0)

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

  1. 什么是RESTful服务/编程..?
    我有一个很好的和相应的 Answer 相同的

    这里总结一些要点......
    • 如今,URI是无处不在的标识符选择。让URI标识您想要公开的每个资源和服务。
    • 使用HTTP方法。 CreateRetrieveUpdate& Delete由HTTP POSTGETPUT&处理分别为DELETE方法。
    • 使用以下相应的HTTP响应代码
    • 返回结果
  2. HTTP Code Chart against type of HTTP Request

    1. 您的API 是否同时提供JSON和XML

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

      请注意,一旦我们开始讨论XML支持,我们就开始讨论用于验证,命名空间等的模式。除非您的行业需要,否则请尽量避免支持所有这些复杂性。 JSON旨在简化,简洁和实用。如果可以,请创建您的XML。

      换句话说,使返回的XML更像JSON:简单易读,没有架构和命名空间细节 - 只有数据和链接。如果它最终比这更复杂,那么XML的成本将是惊人的。根据我的经验,在过去几年中,无论如何都没有人使用XML响应。消费太贵了。

      read more on How a RESTful API should be

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


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

答案 1 :(得分:0)

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