基于Node.js的后端服务基础模块及应用

使用generator-express-no-stress-typescript脚手架工具创建一个图片上传服务的模板工程,执行如下指令:

复制代码
npm config set registry https://registry.npmmirror.com
yo express-no-stress-typescript uploadService

可以看到后端框架如下:

先输入终端npm run dev

输入localhost:3000

这里面的接口都是写在api.yml里的tags里

具体接口写在paths里

写在components里是请求的接口详细格式

这个接口格式是要在services下的examples.service.ts

服务层里

代码里导出ExamplesService类,里面有三个方法

all() 方法、byId(id: number) 方法、create(name: string) 方法

这个类定义了与业务逻辑相关的操作,特别是与示例数据(Example)相关的操作。它包含以下方法:

  • all():返回所有示例的列表。
  • byId(id: number):根据给定的 ID 返回单个示例。
  • create(name: string):创建一个新的示例,并将其添加到示例列表中。

Controller(控制器层)

控制器层负责处理 HTTP 请求,调用服务层的方法,并返回响应。它定义了以下方法:

  • all():处理获取所有示例的 HTTP 请求。
  • byId(req: Request, res: Response):处理获取特定 ID 示例的 HTTP 请求。
  • create(req: Request, res: Response):处理创建新示例的 HTTP 请求。

这种分层结构的优点,让业务逻辑HTTP 请求处理分离,使得代码更易于管理和维护。

定义路由

  • .post('/', controller.create):定义了一个 POST 路由,当客户端向服务器的根路径('/')发送 POST 请求时,将调用 controller.create 方法来处理请求。这通常用于创建新资源。

  • .get('/', controller.all):定义了一个 GET 路由,当客户端向服务器的根路径发送 GET 请求时,将调用 controller.all 方法来处理请求。这通常用于获取所有资源的列表。

  • .get('/:id', controller.byId):定义了一个 GET 路由,当客户端向服务器的 /:id 路径发送 GET 请求时(其中 :id 是一个动态参数,代表资源的标识符),将调用 controller.byId 方法来处理请求。这通常用于获取特定资源的详细信息。

相关推荐
凌云拓界3 小时前
NodeVerdict | 性能门禁:把追踪数据变成 CI 规则
ci/cd·信息可视化·开源·node.js·bug·数据可视化·安全架构
烂蜻蜓4 小时前
Node.js入门教程(五):NVM 管理多版本 Node.js
node.js
MartinYeung55 小时前
npm爆发大规模供应链攻击 蠕虫污染 2000+ 个包版本: 深度技术剖析
前端·npm·node.js
鲟迹6 小时前
NVM 管理Node.js版本
node.js
万敏1 天前
Vue3 全栈实战第五周:Vitest 单元测试从零搭建实战记录
vue.js·node.js·全栈
星栈1 天前
我以为 TS7.0 只是换个版本号,结果编译快了 9 倍,也踩了 5 个坑
后端·typescript·node.js
Synmbrf1 天前
Mosquitto 持久化消息积压导致网关内存耗尽的排查
node.js
AINative软件工程1 天前
LLM Streaming 背压工程实践:慢客户端、断流重连与服务端缓冲区的生产设计
node.js·llm
码林鼠2 天前
webpack的基本配置
前端·webpack·node.js