处理请求用的是应用里的控制器,路由的功能是把要请求指派到特定的控制器上去处理, 在 Nest 应用里可以使用命令行快速创建一个控制器。
在项目下面执行 nest generate 一个 controller,名字是 posts ,命令会把生成的控制器放在各自的目录的下面。
回到项目,在 src 的下面,创建了一个 posts 目录, posts.controller.ts 就是刚才创建的这个控制器,ts 是 TypeScript 文件的扩展名。
同时命令还会给我们创建一个对应的测试文件,就是这个 posts.controller.spec.ts。
另外命令也会自动更新一下应用的 Root Module ,主模块,这个模块是在 app.module 里定义的。
文件的一开始导入了刚才创建的 PostsController 这个控制器, 然后在 controllers 里面,添加了这个 PostsController,打开这个控制器再看一下。
在 Nest 应用里,控制器类要用 @Controller 装饰器装饰一下, 装饰器是 TypeScript 语言提供的功能, 主要作用就是给它装饰的东西添加一些额外的功能。
这个 @Controller 装饰的作用就是让这个 PostsController 类变成一个可以处理请求的控制器。