简介
@loopback/rest 是一个基于 Node.js 的微服务框架,专为构建高度可扩展的 RESTful 应用程序而设计。它使用现代的、可维护的设计模式和最佳实践增加开发人员的工作效率。
特性
- 自动创建 API 文档
- 基于 OpenAPI 规范
- 支持多个数据源
- 内置验证
- 自定义响应处理
- 可扩展和灵活的中间件
- 支持共享模块
- 内置测试工具
安装
使用 npm 可以方便地安装 @loopback/rest,运行以下命令:
npm install @loopback/rest --save
使用
基础示例
首先,让我们创建一个简单的示例应用程序。
-- -------------------- ---- ------- ----- ------------ ------------- ---- ----- ---- - -------------------------- ----- ------------ - -------------- ------- - ------ ------ -------- - -------------- ---------- ------- - ------ ----- - ------------------- ------------------ ------- - ------ ----- -------- ------- - - ----- ------ - --- ------------ ----- ----- ------------ --------------- --- -- - ---------- -------------- ---- -- ----------------------------------------- ---------------
我们创建了一个 RestServer 实例,并将 MyController 注册为控制器。然后我们将该实例绑定到应用程序上下文中的 REST 密钥,最后启动服务器。注意,在这个例子中我们绑定的是 RestServer 实例,但在应用程序中我们通常使用自己的类来绑定各种信息。
让我们看一下控制器中的方法。@get
和 @post
装饰器分别表示 GET 和 POST HTTP 请求,@del
装饰器表示 DELETE HTTP 请求。方法的名字表示请求的路径。这些方法返回要发送到客户端的数据。在 @post
请求中,我们接收 body 数据并将其返回。在 @del
请求中,我们有一个参数从路径参数中取出。
如果我们现在运行该示例,我们将获得以下输出:
Server is running at http://127.0.0.1:3000.
中间件示例
中间件是在请求和响应到达控制器之前和之后执行的代码。@loopback/rest 允许您使用现有的中间件或编写自己的中间件。
以下是一个简单的中间件,它打印请求数据:
-- -------------------- ---- ------- ----- ------------ ------------- ---- ----- ---- - -------------------------- ----- --------- --------- - ------------------- -- -- ------- -- ----- ----------------- - ------------- -- ----- ------- ---- -------- ---- --------- ----- -- -- ----------------- -- ------------- - -------------------- -- ----------- - ----- ---------- ----- ------- - - ----- ------------ - -------------- ------- - ------ ------ -------- - -------------- ---------- ------- - ------ ----- - ------------------- ------------------ ------- - ------ ----- -------- ------- - - ----- ------ - --- ------------ ----- ----- ------------ --------------- --- ------------------------------------- -- -- ---------- ----------------------------------------- ---------------
在这个例子中,我们引入了 express
对象并创建了一个名为 LoggingMiddleware 的类,该类实现了 RestMiddleware 接口。handle
方法接收一个 Request 和 Response 对象以及一个回调函数。在 handle
方法中,我们打印了请求数据并调用了下一个回调函数。在 MyController 中注册的方法将在 handle
方法之后执行。
结论
在本教程中,我们介绍了如何使用 @loopback/rest 构建 Node.js 应用程序。我们展示了如何创建控制器、使用中间服务和添加自定义中间服务。希望这个教程对你有帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/loopback-rest