REST API 的概念
本节课将帮助你理解 REST API 的基本概念。
REST API 简介
API 代表应用程序编程接口。Web 应用程序通常使用 API 与其他 Web 应用程序进行通信。API 通过特定的 URL 或请求共享资源或数据。借助 HTTP 协议,API 可被多种应用程序使用,包括移动应用和 Web 应用。存在许多功能各异的 API,例如获取天气信息、查询某个国家的城市列表,甚至实现复杂任务如将语音数据转换为文本。
API 通常通过 REST API 被 Web 应用程序使用,这是一种用于客户端与服务器之间通信的机制。REST API 可以通过多种编程语言实现,并支持 XML、JSON 等格式。在使用 REST API 时,JSON 格式最为常见。
REST API 应用示例
为了理解 REST API 应用的工作原理,我们将演示一个简单应用的创建过程。在发送请求之前,先点击“运行”按钮启动应用。然后点击“+”按钮打开一个新的终端标签页。
新终端标签页打开后,尝试执行以下请求:
- 使用 cURL 或 Postman 等工具发起一个
GET请求。
1curl -X GET -H "Content-type: application/json" 'https://6ej3lygmelmwy.educative.run/books'
注意: 确保 URL 与启动服务器所用的地址一致。
如果请求成功,将得到如下输出:
1[ 2 { 3 "Id": 1, 4 "Title": "Programming with Go" 5 }, 6 { 7 "Id": 2, 8 "Title": "Introduction to MySQL" 9 }, 10 { 11 "Id": 3, 12 "Title": "Microservice Architecture" 13 } 14]
- 使用 cURL 或 Postman 等工具发起一个
POST请求。
1curl -X POST -H "Content-type: application/json" -d '{"id":6,"title":"My New Book"}' 'https://6ej3lygmelmwy.educative.run/books/create'
注意: 确保 URL 与启动服务器所用的地址一致。
如果请求成功,将得到如下输出:
1{"Id":6,"Title":"My New Book"}
完整的简单 REST API 应用如下所示:
No configuration found for ID: 1bbe5e6ef301fbd0eb81cda0e7a9694034609acd01ff42b36ce25b8f3fc1c542
如上代码所示,创建了一个 mux 服务器来根据路由处理请求。例如,/books 路由使用 getAllBooks 处理函数获取所有书籍的数据。随后,将处理函数注册到服务器 mux 中。配置完成后,使用 mux 创建 HTTP 服务器,并在端口 3000 上启动,因为服务器的地址配置为 ":3000"。
该服务器中使用了以下两个处理函数:
-
getAllBooks用于获取所有书籍数据。将books变量转换为 JSON 格式,然后设置响应头和响应体。响应体即为所有书籍数据的 JSON 表示。 -
createBook用于创建新的书籍数据。在处理函数内部,首先检查请求方法是否正确。若检查通过,则使用json包解析请求体,并添加新的书籍数据。添加成功后,向客户端返回响应,响应体包含刚刚添加的书籍信息。