Node后台学习笔记-毕设篇-第二章 请求处理

85 阅读2分钟

Node后台学习笔记-毕设篇(旅游信息管理平台)

  • 使用技术栈:Node + ts + nestjs + typeorm + MySQL

  • 简介:

    • 这是款具有上传下载、发布文章、评论、用户个人中心 的一款 旅游资源管理项目。
    • 可对数据库进行操作
  • 项目链接: github.com/donwenx

一、认识结构

src
  |- app.controller.spec.ts // controller 测试文件
  |- app.controller.ts      // controller 路由和预处理
  |- app.module.ts          // module 为模块注册用
  |- app.service.ts         // service 逻辑
  |- main.ts                // 程序入口

module 模块

作用:程序运行时给模块处理依赖。

模块是用@Module()装饰器注释的类。装饰@Module()器提供Nest用于组织应用程序结构的元数据。

其属性描述:

属性描述
providers将由 Nest 注入器实例化的提供程序,并且至少可以在该模块中共享
controllers该模块中定义的必须实例化的控制器集
imports导入模块的列表,导出该模块所需的提供程序
exports该子集providers由该模块提供,并且应该在导入该模块的其他模块中可用。您可以使用提供者本身或仅使用其令牌(provide值)

controller

处理请求,在经过 controller 调用 service 里的业务逻辑

service

作用:是真正处理业务逻辑的地方,所有的业务逻辑都会在这里处理。它可经过 module 引用其他模块的service,也可经过 module 暴露出去。

生成新模块

  • 这是一个一个生成款 命令:
nest g controller students
nest g service students
nest g module students

自动生成目录结构

// 命令:
nest g resource admin
// nest g 类型 名称

// 生成的目录结构:
admin.controller.spec.ts
admin.controller.ts
admin.module.ts
admin.service.spec.ts
admin.service.ts
? What transport layer do you use? REST API
? Would you like to generate CRUD entry points? No
CREATE src/admin/admin.controller.ts (210 bytes)
CREATE src/admin/admin.controller.spec.ts (566 bytes)
CREATE src/admin/admin.module.ts (247 bytes)
CREATE src/admin/admin.service.ts (89 bytes)
CREATE src/admin/admin.service.spec.ts (453 bytes)
UPDATE package.json (2256 bytes)
UPDATE src/app.module.ts (1054 bytes)

然后我们新增一个 admin 的文件

  • 执行结果1 二-init01.png
  • 页面新增一个文件 二-init02.png

编写可访问内容

编写一个 get 请求,输出 hello world

// admin.controller.ts

  // 发起一个get请求,输出hello world
  @Get('')
  async test() {
    return 'hello world'
  }

二-编写请求world.png

查看接口

// ✅
http://localhost:3000
// => hello world

执行成功界面

二-成功.png

目录