Nestjs中的服务可以是service 也可以是provider。
Nestjs中的服务可以是service 也可以是provider。他们都可以通过 constructor 注入依赖关系。服务本质上就是通过@Injectable() 装饰器注解的类。在Nestjs中服务相当于MVC的Model。
1、创建服务
nest g service news创建好服务后就可以在服务中定义对应的方法
import { Injectable } from '@nestjs/common'; @Injectable() export class NewsService { findAll(){ return [ {"title":"新闻111"}, {"title":"新闻2222"}, {"title":"新闻3333"}, {"title":"新闻111"}, {"title":"新闻2222"}, {"title":"新闻3333"} ]; } }
2、使用服务
1、需要在根模块引入并配置
import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { UserController } from './user/user.controller'; import { NewsService } from './news/news.service'; import { NewsController } from './news/news.controller'; import { ArticleController } from './article/article.controller'; @Module({ imports: [], controllers: [AppController, UserController, NewsController, ArticleController], providers: [AppService, NewsService], }) export class AppModule {}
2、在用到的地方引入并配置
import { Controller, Get ,Render} from '@nestjs/common'; import { NewsService } from './news.service'; @Controller('news') export class NewsController { constructor(private newsServices:NewsService){} @Get() @Render('default/news') index(){ return { newsList:this.newsServices.findAll() } } }这个时候访问: http://localhost:3000/news 就可以调用newsServices里面的findAll方法获取数据