• 作者:老汪软件技巧
  • 发表时间:2024-08-30 10:02
  • 浏览量:

RESTful API(Representational State Transfer)是一种基于HTTP协议的接口设计风格,用于构建网络服务。

Restful API 也是目前十分经典并且被广泛应用的 API 书写规范。你可以在各类网站上看到的它的影子。

如果你想要设计一个更加规范的网站,那么 Restful API 是你最值得了解的一个知识点。

开始

这是一个 RESTful API 例子:

POST https://api.example.com/v1/libraries/1/categories/2/books
Content-Type: application/json
​
{
  "title": "The Art of Computer Programming",
  "author": "Donald E. Knuth",
  "isbn": "978-0201896831",
  "publicationDate": "1968-01-01"
}

上述中的例子具有几个部分:

Restful API 更多的部分

除了上述的部分,Restful API 还可以具有更多,例如参数:

GET /users?page=1&pageSize=10

使用 HATEOAS(Hypermedia As The Engine Of Application State)来提高 RESTful API 的可发现性:

GET /users/1
{
  "id": 1,
  "name": "Tom",
  "age": 25,
  "links": [
    {
      "rel": "orders",
      "href": "/users/1/orders"
    },
    {
      "rel": "edit",
      "href": "/users/1/edit"
    }
  ]
}

客户端可以通过 API 返回的链接自主地遍历 API,并进行资源的操作。

Restful API 的发展

RESTful API 的未来发展方向主要包括以下几个方面:

QA

Q:为什么在RESTful API设计中,经常使用复数名词作为路径的一部分?

A:

资源集合的概念 在RESTful架构中,每个URL代表一种资源。通常情况下,API会操作资源的集合(collection)。使用复数名词可以直观地表示这一点。例如:

语义清晰 复数名词明确地表示资源的集合,而单数名词(id)则表示单个资源。这有助于使API的语义更加清晰。例如::

参考资料

RESTful API 设计指南 - 阮一峰的网络日志

REST API 设计规范:最佳实践和示例