如何使用新的swagger插件?我的编译器选项中有:
"compilerOptions": {
"plugins": ["@nestjs/swagger/plugin"]
}
我使用nest start运行应用程序,如下所述:
但是,似乎没有自动生成magic文档。这是一个全局依赖项与本地依赖项冲突的问题,以及旧版本(设置为增量模式)与新属性生成冲突的问题。是否执行了以下操作以解决此问题:
如果nest cli是全局安装的,请手动升级:warn全局升级升级@nestjs/cl
我正在使用Nest.js,并考虑从TypeORM迁移到Mikro-ORM。我正在使用模块。但我被困在一件看起来很简单的事情上
我有3个实体,Authentity、BookEntity和BookMetadata。在我的作者模块中,我尝试使用createQueryBuilder方法左键连接Book和BookMetadata表。但是当运行我的查询时,我得到一个错误,实体authoreEntity[3390]的集合没有初始化。但是,可以很好地检索Author表中的列
我的3个实体:
@实体
@唯一的{属
我是新来的,最近加入了这里,我正在尝试的代码类型是新的
第一个查询:我想使用这种方法,但不确定如何在列上按count分组,然后在该列上按desc排序
const result = await this.jobViewsRepository.find({
relations: ["jobs"],
loadEagerRelations: true,
order: { id: "DESC" },
我正在处理一个遗留项目,其中MP4文件从带有axios的React应用程序逐个上传到EC2实例上带有busboy的NestJS API。然后,文件被上传到S3存储桶
当AWS S3库尝试加载文件时,有时会出现明显的“随机”错误:
warn
module: videoservice
method: saveTostream
message: Error on Upload Success callback
{ [Error: ENOENT: no such file or directo
我正试图挽救一种多对多的关系。每一个实体本身都运转良好
以下是我正在处理的两个实体文件:
// location.entity
@ManyToMany(type => User, user => user.locations, { eager: true, cascade: true })
@JoinTable()
users: User[];
以下是用户存储库:
// user.repository
...
user.locations = locations; // [1,
我有这3个实体,我想做一个查询,以获得来自用户的所有帖子,并让该帖子获得所有图像。我正在尝试使用以下代码执行此操作:
return等待这个.postRepository.createQueryBuilder(“post”)
.innerJoinAndSelect(“post.images”、“image”)
.where(“user_id=:userId”,{userId:id})
.getMany();
我得到以下错误:
无法读取未定义的属性“joinColumns”
我还尝试了这个方法,而
我正在两个NestJS实例之间设置基本的EventPattern。但是,其他微服务未发送/接收该事件
我试图在文档中找到一些具体的例子,但是看起来设置与调用clinet.emit/client.call调用其他微服务不同
微服务1
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
import { Client, Transport, ClientProxy,
我的api网关中有一个拦截器,它将rpc异常转换为http异常。
拦截器放置在共享目录中,其中没有任何模块
在我的控制器中,我使用拦截器如下:
从'shared/grpc errors.interceptor'导入{GrpcErrorsInterceptor};
@控制器(“mycontroller”)
@使用拦截器(新的GrpcErrorsInterceptor())
导出类MyController{}
另一方面,我看到了将拦截器添加到模块中的提供者数组的方法:
从'@nestjs/core
有人能帮助我如何在本地网络/服务器上部署我的nestjs应用程序吗?我想在我的计算机上启动我的nestjs应用程序,供那些可以使用已成功部署在Microsoft IIS上的angular应用程序从同一本地网络中的计算机进行访问的人使用。现在,我使用npmstart命令启动我的nestjs应用程序,可以通过我的计算机上的localhost:3000访问它。我不知道我是否也必须在IIS上部署它。如果是,有人能帮助我如何从头到尾在IIS上部署nestjs应用程序吗?“本地网络/服务器?”与生产非常不同
nestjs如何在请求中获取cookie
import { Get, Controller, Response, Request } from '@nestjs/common';
import { AppService } from './app.service';
const l = console.log
@Controller()
export class AppController {
@Get('json')
json(@Request() req){
console
我正在寻找一种将nest用作后端网关服务的选项-
我们的想法是对数据库的更改进行轮询(也许以后会将其移动到事件驱动模式)——实际上这里不需要侦听器。
更改时,嵌套将更新第三个pt API调用
这里的最佳做法是什么?看看这里,我正在做一些类似于您所追求的事情:
我创建了一个类,该类“轮询”后端,并在检测到后端中的更改时发出事件。您可以使用其他代码侦听此事件,从而调用您的第三方api
更新:
正如您所说,Nest有一个基本的应用程序上下文,它跳过了http服务设置,下面介绍了如何做到这一点:
索引
我正在用Nestjs编写我的第一个项目,但连接到数据库时遇到了问题。
我安装了mysql并建立了连接。TypeOrm自己创建数据库?还是我必须用mysql来做
Nest] 13684 - 07/24/2020, 12:44:50 AM [TypeOrmModule] Unable to connect to the database. Retrying (1)... +42ms
Error: ER_BAD_DB_ERROR: Unknown database 'my-database'
我正在尝试使用您的包在我的Nest JS项目中制作steam auth
经过3-5天的工作,我无法做出任何决定
我没有收到任何错误,但我也无法强制我的应用程序重定向到steam auth页面,我的代码放在这里
我按照您的示例更改了我的/src/main.ts和/src/auth/auth.controller.ts,但它现在不起作用
我的STEAM_API_密钥是work,我在您的示例中使用它使其工作
我的main.ts文件:
从'@nestjs/core'导入{NestFactory};
从
我有一个服务,我试图用关系实体(一对多)保存实体。我有:
支付实体:
@Entity('payment')
export class PaymentEntity {
@PrimaryColumn()
id: number;
@OneToMany(type => PaymentExamEntity, paymentExam => paymentExam.payment, { cascade: true })
paymentExams: PaymentExamEntity[
我有一个自定义日志记录服务,它以一种可以发送到第三方日志收集服务的方式输出结构化日志
我想知道什么是确保捕获所有错误的最佳方法,从HTTP错误到未处理的JS错误(例如TypeErrors、未捕获的拒绝承诺等),并将它们发送给上述记录器
我看到的大多数示例都只处理HTTP错误。您可能可以在此处查看uncaughtException,但它与nestjs无关
但要小心,因为你可能会破坏应用程序的稳定性
编辑
您可以利用此处描述的全局过滤器
如果您想使用DI,可以使用令牌将它们作为自定义提供者添加到p
我在nestjs项目的tsconfig.json中配置了路径别名,但运行时出错
我试图像Angular那样进行配置,但在nestjs中出现了一个错误
这是我的tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalD
由于NestJS允许注入,所以我希望确保编写最高效的代码
我使用一个全局拦截器包装我的应用程序响应,并使用一个全局过滤器处理异常
//main.ts:
app.useGlobalInterceptors(new ResponseWrapperInterceptor(app.get(LogService)));
app.useGlobalFilters(new ExceptionsFilter(app.get(LogService)));
在我的主要演讲中,什么更有效率?这两种选择的影响是什么?
我正在nodejs中构建应用程序,在那里我必须通过点击HTTPS端点来显示数据。我正在使用Swagger UI显示数据。我得到以下错误
Converting circular structure to JSON +1169ms
TypeError: Converting circular structure to JSON
at JSON.stringify (<anonymous>)
at stringify (node_modules/express/lib/re
我使用的是Postgres,因为数据库中有下一个表:
学生
id: Integer (PK)
name: Text
import { Entity, Column, PrimaryGeneratedColumn, OneToMany, PrimaryColumn } from 'typeorm';
import { student_assignation } from './student_assignation.entity';
import { Subject } from './subj
我想在nestjs项目中使用这个包
如何在init模块的服务中获取响应对象
i18n.init(req, res);
对于请求,我发现它从控制器传递它
import {Response, Request} from 'express'
@Get(@Req() req: Request, @Res() res: Response) {
myService.method(req, res);
}
我已更新至:
export class UpdateUserDto extends PartialType(CreateUserDto) {
}
export class CreateUserDto {
@ValidateNested({ each: true })
@IsOptional()
Point: CreateUserPointDto;
}
CreateUserDto:
export class UpdateUserDto extends PartialType(Cr
我按照文档中的描述设置了ConfigService
如何将此服务和TypeOrmModule一起使用
TypeOrmModule.forRoot({
type: 'mysql',
host: 'localhost',
port: 3306,
username: 'root',
password: 'root',
database: 'test',
entities: [__dirname + '/**/*.entity{.ts,.js}'],
synchroniz
我已经设置了一个配置模块,根据这个模块,我如何在main.ts上使用它
使用NestFactory方法创建应用程序后,可以使用const configService=app.get(configService)在main.ts文件中创建nestjs版本:6.1.1从上下文获取服务。如果你想省去那些同样有效的泛型。之后,您可以像在应用程序中的其他地方一样使用它:configSerivce.get('key')
我有一个返回字符串的控制器处理程序
// Controller.ts
import { Controller, Get, UseInterceptors } from '@nestjs/common';
import { UpperInterceptor } from './upper.interceptor';
import { LowerInterceptor } from './lower.interceptor';
@Controller()
export class AppCont
我无法获取MyOtherService的上下文引用
以下是我的代码:
@Injectable()
export class MyService {
constructor(private readonly myOtherService: MyOtherService) {}
@Cron(CronExpression.EVERY_10_SECONDS)
async test() {
this.myOtherService.someMethod() //m
我已经创建了nestjs应用程序。在根应用程序文件夹中,我有以下子文件夹:
距离
迁移
src
试验
迁移文件夹包含typeorm迁移。
当使用npm运行应用程序时,运行start:dev时,我出现以下错误:
import {MigrationInterface, QueryRunner} from "typeorm";
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Module._compi
我有一个使用自定义拦截器的控制器:
控制器:
@UseInterceptors(SignInterceptor)
@获取('用户')
异步findOne(@Query()getUserDto:GetUser){
return wait this.userService.findByUsername(getUserDto.username)
}
我还有SignService,它是NestJwt的包装器:
信号服务模块:
@模块({
进口:[
JwtModule.registerAsync({
导
在Nest.js应用程序中,我想创建一种手表,当外部文件发生变化时,它将重新启动整个应用程序。当然,观察文件的更改是一个简单的部分,但我不知道如何在应用程序内的Nest.js中触发重新启动。根据官方文档,命令npm run start:dev将启动您的应用程序,并在检测到更改时重新编译
详情如下:
类似location.reload()Nest.js是一个后端框架。。。
目标:
使用monorepo结构,在该结构中,我可以跨不同的有界上下文共享域模型和通用实现(使用提供者模式)
能够独立于其他应用程序部署每个有界上下文或客户端应用程序(因此,所有这些都在一个src目录下的整体中是不可接受的
背景:对我来说,典型的技术堆栈是Angular+.NETCore。我开始远离Angular,并探索使用Nestjs进行API开发时代码共享的好处
我试图找出在客户端和API之间设置共享代码的最佳方法,但遇到了一些问题
我有以下目录结构。我想找出共享域/models/com
我正在尝试使用嵌套开发API,但面临以下错误。
我认为main.ts文件或app module.ts文件存在错误,这就是我共享代码的原因
main.ts文件
import * as mongoose from 'mongoose'
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
// mongoose.set('useFindAndModify', false)
asy
是否可以为同一路由指定多个处理程序
任何对/test路由的HTTP GET请求都应该调用GET处理程序,除非查询字符串watch==“1”,在这种情况下,它应该调用watch处理程序
import { Controller, Get } from '@nestjs/common';
@Controller('test')
export class TestController {
@Get()
get(){
return 'get'
}
@Get('?watch=1'
是否可以禁用NestJS默认记录器的彩色控制台输出?
我找不到关闭它的选项:-(
(更多文本,因为这个问题对于StackOverflow来说太简单了。)在NestFactory.create()中使用logger:false添加选项
e、 g.wait NestFactory.create(ApplicationModule,{logger:false})记录器服务使用模块cli color,设置环境变量NO\u color将禁用颜色代码的输出。您可以实现自己的自定义记录器。只需实现Logger
如何对具有{scope:scope.request}的服务上的每个请求调用方法
它不起作用:
export class UsersService implements OnModuleInit {
onModuleInit() {
console.log(`The module has been initialized.`);
}
}
似乎您忘记了将可注入的装饰器应用于您的服务。根据这一点,它应该看起来像:
从'@nestjs/common'导入{Injectable,Scop
您知道如何使用nestJS+typeORM+为随机关联实体设定种子吗
我只知道如何使用静态元素
@Factory('static_var')
还是骗子
@Factory(faker => faker.name.findName())
或自定义函数
@Factory(() => {
const minAge = 18;
const maxAge = 30;
return Math.round(Math.random() * (maxAge - minAge) + min
我需要将Pancakeswap集成到我的公司项目中,以获得价格并实现买卖交易。我可以看到Pancakeswap现在只有Pancakeswap sdk v2。如何将其连接到nestjs以获取硬币信息并实现事务?谢谢
我想在我的数据库中,但在我的中间件中,发出查找请求,因此我很自然地在我的服务中这样做,并为我的模型添加了一个构造函数,但我有以下错误:
(node:821) UnhandledPromiseRejectionWarning: Error: Nest can't resolve dependencies of the AccountMiddleware (?). Please make sure that the argument AccountModel at index [0] is avai
根据,我想使用fastfy helmet来配置contentSecurityPolicy。
首先,我安装了以下软件包:
$ npm i --save fastify-helmet
在mymain.ts中,我注册了fastfyhelmet,但它抛出以下错误:
类型“NestExpressApplication”上不存在属性“register”
异步函数引导(){
常量记录器=新记录器('bootstrap')
const app=wait NestFactory.create(AppModule
在警卫/装饰人员的帮助下,我尝试先检查JWT,然后检查用户的角色
我已经阅读了有关身份验证、警卫和装饰人员的文档,并理解了它们背后的原则
然而,我不能做的是以某种方式使来自JWT Guard的经过身份验证的用户可供角色Guard使用
在我找到的每一个例子中,我感兴趣的部分都被跳过/忽略了
感谢每一个提示
这是我的最新尝试:
jwt.strategy.ts
角色.guard.ts
users.controller.ts
您的装饰器和卫士看起来不错,但是从users.controller.ts文件的
我有一个控制器没有回复
@Controller('/foo')
export class FooController {
@Post()
public async getBar(@Body() body: DTO, @Res() res) {
const response = await this.doSomething(body);
return response;
}
}
我不得不使用res.send方法:
@Controller('/foo')
export
在配置迁移后执行命令npm run start:dev时,我从“typeorm”接收到错误导入{MigrationInterface,QueryRunner};语法错误:无法在模块外部使用import语句我通过将migrations文件夹移动到src中来修复它。ormconfig.tsconst-config:ConnectionOptions={type:'mysql',host:process.env.DATABASE\u host,port:parseInt(process.env.DAT
我试图用nestjs中的nodemailer从我的个人gmail发送邮件,但没有收到任何结果(希望在收件箱中收到邮件)。
下面我附上了我的代码:
`app.module.ts`
@Module({
imports: [
MulterModule.register({
dest: "./uploads"
}),
MailerModule.forRoot({
transp
我试图做的是这样的功能(当然,下面的代码毫无意义):
我希望我的守卫只有在双方都返回错误时才是错误的。基本上,我希望我的auth guards类似于OR语句,因为端点可以由多个独立的源激活,并且每个源都有自己的身份验证系统
当然,我可以在同一个函数中组合这两个auth。问题是代码会变得混乱,因为在某些情况下,我需要单独使用它们中的每一个,并且我不希望彼此重叠
有人知道如何实现这样的行为吗
另外,由于额外的复杂性,我将RoleGuards与两个登录系统之一结合使用。例如,如果AdminAuth为t
我使用的是NestJS中的mongoose模块,所以我有我的模式和接口,在我的服务中,我使用@InjectModel来注入我的模型。我不知道如何模拟模型来注入到我的服务中
我的服务如下所示:
@Injectable()
导出类身份验证服务{
构造函数(@InjectModel('User')私有只读userModel:Model){}
异步createUser(dto:CreateUserDto):承诺{
const model=newthis.userModel(dto);
model.act
有人能帮忙吗?我有一个解析器查询,我传递了3个参数,简单类型(数字)可以工作,但复杂类型不行,它只是一个空对象
如果我实现IQuery(graphql创建了它),那么一切都正常,但是我不能添加@Context,它说我没有在接口中实现
真的很失落,也许我做错了什么
这是我的解析+查询
@Resolver()
export class MyResolver {
@Query("testme")
testme(
@Context() context: any,
@Args("
我是Nest js的新手,在这里我们有一些主题,如Dto、接口和模式。任何人都可以提供关于这些主题的清晰信息。Dto、接口和模式不是Nest js独有的
数据传输对象是用于封装数据并将其从应用程序的一个子系统发送到另一个子系统的对象。用外行的话说,它以定义的方式格式化数据。
示例:您需要在正文中传递的注册路由的数据。然后,您可以使用DTO仅过滤出所需的信息,并将其余信息剥离出来
//signUp.dto.ts
export class signUpDto {
@IsNotEmpty({m
我想在Httpmodule注册时将context.heands注入到Httpmodule。如何
NestJS6.0
我创建了一个如下所示的全局模块,我想在这里添加context.header
@Global()
@Module({
imports: [
HttpModule.register({
timeout: 20000,
// (how to get context.header in this place )
// headers: {
开发应用程序时,我会将配置保存在.env文件中
这是我的应用程序模块.ts:
@模块({
进口:[
ConfigModule.forRoot({isGlobal:true}),
TypeOrmModule.forRoot({
自体腺炎:是的,
数据库:process.env.TYPEORM_数据库,
主机:process.env.TYPEORM\u主机,
密码:process.env.TYPEORM_password,
端口:(process.env.TYPEORM_端口未知)作为编号,
类型:
我正试图用开放API在nestJS中加强安全性
因此,用户必须作为API调用的一部分传入API-ACCESS-KEY头
我发现的唯一例子是:
const options = new DocumentBuilder()
.setTitle('Web Service')
.setVersion('1.0')
.addSecurity('SYSTEM', {type: 'apiKey', name: 'API-ACCESS-KEY'})
.build();
但我应该在哪里传递实际值
我在Cont
npm运行开始工作正常,但npm运行开始:dev引发以下错误:
7:14:22 PM - Found 0 errors. Watching for file changes.
internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module 'src/models/note.model'
at Function.Module._resolveFilename (internal/modules/cjs/loader
我对NestJS有点陌生,当我尝试从AppModule中的模块declare注入服务时,遇到了一个问题,另一个服务也在AppModule中声明到另一个模块
例如:
**app.module.ts**
进口:[
核心模块,
产品模块,
],
控制器:[
应用控制器,
],
供应商:[
应用服务,
],
**core.module.ts**
进口:[
],
控制器:[
布兰兹控制器,
分类控制器,
审查主任,
],
供应商:[
品牌服务,
分类服务,
评论服务,
],
出口:[
评论服务,
]
因为
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 14 页