做360手机网站优化,婚纱网站设计目标,现在什么语言做网站最好,做毕业证教育网站Nest学习系列
✈️一文入门【NestJS】 ✈️一文入门【NestJs】Controllers 控制器
#x1f6a9; 前言
在NestJS的世界里#xff0c;理解“Providers”是构建健壮、可维护的后端服务的关键。NestJS#xff0c;作为Node.js的一个现代框架#xff0c;采用了Angular的一些核…Nest学习系列
✈️一文入门【NestJS】 ✈️一文入门【NestJs】Controllers 控制器 前言
在NestJS的世界里理解“Providers”是构建健壮、可维护的后端服务的关键。NestJS作为Node.js的一个现代框架采用了Angular的一些核心概念如依赖注入Dependency InjectionDI并将其应用于服务器端开发。本文将深入探讨NestJS中的Providers机制解析其工作原理以及如何利用它们来优化你的应用程序。
什么是 Providers
在NestJS中Provider是任何可以被DI容器管理和注入的对象。它可以是一个类、一个值、一个工厂函数或是抽象接口。Providers的主要作用是提供服务、值或工厂这些可以被其他模块或组件所共享和复用。 在上片文章中了解到了Nest的Controller这篇文章介绍到另外一个重要的知识点providersprovider可以理解成为Controller提供服务的部分也可以称为service 如何创建一个 service nest g service news 这是一个简单的service目前具有两个功能一个是返回所有的新闻列表一个是创建一条数据
service如何为controller提供服务
依赖注入 第一步在controller 种引入对应 service以及对应的接口类型 news.controller.ts
import { NewsService } from ./news.service;
import { News } from ./interfaces/news.interface;第二步通过constructor(private newsService: NewsService) {}注入 Controller(news)
export class NewsController {constructor(private newsService: NewsService) {}.....
}第三步在对应的请求装饰器中使用 Controller(news)
export class NewsController {constructor(private newsService: NewsService) {}Get(/page)async getNewsPageList(Query() query: string): PromiseNews[] {console.log(query);return this.newsService.getNewsPageList();}Post(/create)async createNews(Body() createNewsDto: CreateNewsDto) {console.log(createNewsDto,添加参数);return this.newsService.createNews(createNewsDto);}
}第四步在app.module 中注册 import { Module } from nestjs/common;
import { AppController } from ./app.controller;
import { AppService } from ./app.service;
import { NewsController } from ./news/news.controller;
import { NewsService } from ./news/news.service;Module({imports: [],controllers: [AppController, NewsController],providers: [AppService,NewsService],
})
export class AppModule {}结语
掌握NestJS中的Providers意味着你能够更好地构建模块化、可扩展的后端服务。通过合理的使用Providers你可以轻松地管理依赖关系提高代码的可读性和可维护性。无论是构建复杂的微服务架构还是简单的API服务NestJS的DI机制都将是你不可或缺的工具。