基于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 方法来处理请求。这通常用于获取特定资源的详细信息。

相关推荐
g***B7384 小时前
JavaScript在Node.js中的模块系统
开发语言·javascript·node.js
Z***25805 小时前
JavaScript在Node.js中的Deno
开发语言·javascript·node.js
u***27617 小时前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
一直在学习的小白~10 小时前
npm发布脚手架流程
前端·npm·node.js
u***j32412 小时前
JavaScript在Node.js中的进程管理
开发语言·javascript·node.js
a***560618 小时前
node.js下载、安装、设置国内镜像源(永久)(Windows11)
node.js
万万君21 小时前
npm quick start for beginner
前端·npm·node.js
槁***耿1 天前
JavaScript在Node.js中的事件发射器
开发语言·javascript·node.js
U***49831 天前
JavaScript在Node.js中的Strapi
开发语言·javascript·node.js
颜酱1 天前
Monorepo 架构以及工具选型、搭建
前端·javascript·node.js