随着移动应用和Web应用的不断发展,RESTful API 已成为连接客户端和服务器的标准之一。而 Loopback 是一种用于创建 RESTful API 的开源 Node.js 框架,它不仅易于使用,而且功能强大。本文将详细介绍如何使用 Loopback 来构建 RESTful API,以及一些最佳实践。
安装 Loopback
首先,需要全局安装 Loopback。可以使用以下 npm 命令进行安装。
npm install -g loopback-cli
接下来,在命令行中输入以下命令创建一个新应用:
lb app
该命令将提示您输入以下信息:
- 应用程序名称
- 配置文件类型(推荐使用 "common")
- 数据源(例如 MongoDB,MySQL 等)
Loopback 还提供了许多默认设置,可以根据需要进行自定义更改。
创建数据模型
创建数据模型是 Loopback 开始创建 RESTful API 的第一步。 一个数据模型代表一种数据类型,需要定义属性和远程方法。
我们将使用一个名为 Product 的数据模型。 在命令行中使用以下命令来创建一个新的数据模型:
lb model
该命令将提示输入以下信息:
- 模型名称(Product)
- 数据源(默认配置)
- 基本类(PersistedModel)
定义 "Product" 模型的属性和远程方法。 假设 "Product" 模型有以下属性: "name","description","price","stock"。此外,我们还需要一个远程方法来查找所有具有特定库存数量的产品。
// www.javascriptcn.com code example
// loopback/model-config.json
{
"Product": {
"dataSource": "db",
"public": true
}
}
// loopback/product.json
{
"name": "Product",
"base": "PersistedModel",
"description": "A product",
"properties": {
"name": {
"type": "string",
"required": true
},
"description": {
"type": "string"
},
"price": {
"type": "number",
"required": true
},
"stock": {
"type": "number",
"required": true
}
},
"methods": {
"findByStock": {
"accepts": [
{
"arg": "stock",
"type": "number",
"http": {
"source": "query"
}
}
],
"returns": {
"type": "array",
"root": true
},
"http": {
"verb": "get",
"path": "/findByStock"
}
}
}
}上面的代码定义了一个 "Product" 模型,具有 name,description,price 和 stock 属性。此外,还定义了一个名为 "findByStock" 的远程方法,它接受一个名为 "stock" 的参数,并返回具有给定库存的所有产品。由于远程方法需要在 HTTP API 上公开,因此使用 http 属性来指定路由。
创建 RESTful API
在成功创建数据模型后, Loopback 可以自动生成 RESTful API。 可以通过创建一个 "REST API" 数据源或手动定义。
在命令行中使用以下命令可自动创建:
lb datasource
该命令将提示输入以下信息:
- 数据源名称(db)
- 选择一个数据源类(MySQL,MongoDB,Memory,等等)
- 数据库名称(可选)
然后使用以下命令启动 server:
node .
使用 Postman 或 curl 测试 API:
curl http://localhost:3000/api/product
小结
Loopback 是使用 Node.js 构建 RESTful API 的一种强大工具。它提供了许多有用的功能,例如自动生成 API 和灵活的数据建模。本文介绍了 Loopback 的基础知识,包括如何创建数据模型,如何生成 RESTful API 和如何暴露远程方法。这些技术将为您构建优秀的数据库应用程序打下坚实的基础。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67d667d0a941bf7134c269db