引言
在现代化的 Web 应用程序中,RESTful API 是不可或缺的一部分,因为它们提供了一种标准化的方式来访问和操作 Web 服务。Fastify 是一个快速、低开销且易于使用的 Web 框架,它可以帮助我们轻松地创建 RESTful API。本文将介绍如何使用 Fastify 创建 RESTful API,并使用 Jest 进行测试。
创建 Fastify 应用程序
首先,我们需要安装 Fastify 和 Jest:
--- ------- ------- ---- ----------
然后,我们可以创建一个 Fastify 应用程序:
----- ------- - -------------------- ---------------- ----- --------- ------ -- - ------ - ------ ------- - -- -------------------- ----- -------- -- - -- ----- ----- --- ------------------- --------- -- ------------ --
在上面的代码中,我们创建了一个 Fastify 实例,并在根路径上定义了一个 GET 路由。我们使用 fastify.listen
启动服务器,并将端口设置为 3000。
现在,我们可以使用 curl 命令测试我们的 API:
- ---- --------------------- -----------------
使用路由参数
接下来,我们将添加一个带有路由参数的路由。我们将使用 /:id
声明路由参数,并在路由处理程序中访问它:
------------------- ----- --------- ------ -- - ----- - -- - - -------------- ------ - -- - --
现在,我们可以使用 curl 命令测试带有路由参数的路由:
- ---- ------------------------- ------------
使用插件
Fastify 的插件系统允许我们轻松地扩展应用程序功能。在本节中,我们将使用 fastify-cors 插件添加跨域资源共享(CORS)支持。首先,我们需要安装 fastify-cors:
--- ------- ------------ ----------
然后,我们可以使用 fastify.register
方法注册插件:
----- ------- - -------------------- ----- ---- - ----------------------- ---------------------- -- --------- -------------------- ----- -------- -- - -- ----- ----- --- ------------------- --------- -- ------------ --
现在,我们可以使用 curl 命令测试跨域访问:
- ---- -- -------- ------------------- --------------------- -----------------
使用 Jest 进行测试
Jest 是一个流行的 JavaScript 测试框架,它可以帮助我们轻松地编写和运行测试。在本节中,我们将使用 Jest 测试我们的 Fastify 应用程序。首先,我们需要创建一个测试文件:
----- ------- - -------------------- ---------------- ----- --------- ------ -- - ------ - ------ ------- - -- ------------------- ----- --------- ------ -- - ----- - -- - - -------------- ------ - -- - -- -------------- - -------
在上面的代码中,我们导出了我们的 Fastify 应用程序,以便在测试文件中使用它。
然后,我们可以创建一个测试文件:
----- --- - ---------------- ------------- ------- -- -- - ---------- ------ ----- ------- ----- -- -- - ----- -------- - ----- ------------ ------- ------ ---- --- -- ------------------------------------- --------------------------------- ------ ------- -- -- ---------- ------ --- ---- ----- -- -- - ----- -------- - ----- ------------ ------- ------ ---- ------ -- ------------------------------------- --------------------------------- --- ----- -- -- --
在上面的代码中,我们使用 Jest 的 describe
和 it
方法编写测试用例。我们使用 app.inject
方法发送 HTTP 请求,并使用 expect
断言检查响应状态码和 JSON 响应。
现在,我们可以使用 Jest 运行测试:
- --- ---- ---- ------------- --- ----- - ------ ------ ----- ----- -- --- - ------ ------ --- -- -- --- ---- ------- - ------- - ----- ------ - ------- - -----
测试通过!
结论
在本文中,我们介绍了如何使用 Fastify 创建 RESTful API,并使用 Jest 进行测试。我们学习了如何使用路由参数和插件,以及如何编写测试用例。Fastify 是一个快速、低开销且易于使用的 Web 框架,它可以帮助我们在现代化的 Web 应用程序中创建高效的 RESTful API。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67283b142e7021665e1f8386