我正在调用一个外部Get方法,并收到此错误“无法验证第一个证书”。如何使用Nestjs解决此问题?在端点上支付SSL证书?调用http而不是https?在这里问tbh支付端点上的SSL证书可能不是一个好问题?调用http而不是https?这里可能不是一个好问题tbh它位于“外部”端点,我正在尝试与第三方集成,我无法为它们支付SSL证书tbh@ant0h我遇到了同样的问题,你能想出解决办法吗?@osama问题不是我这边的,我集成的第三方没有解决它,所以我不得不忽略“外部”端点中的SSLIt,我正在
我对编码还很陌生,所以如果有一个简单的解决方案我很抱歉,但我已经尝试了一段时间了,但仍然没有得到它
import { Injectable } from '@nestjs/common';
import { MailerService } from '@nestjs-modules/mailer';
import { InjectRepository } from '@nestjs/typeorm';
import { ChecklistItemsEntity } from 'src/check
我在Nest.JS中有一个控制器,可以重定向:
@Get('route/:value')
异步路由(@Param('value')值:字符串){
const result=wait this.someService.doSomethingWithValue(value);
如果(结果){
返回{url:'http://example.com/success.html' };
}否则{
返回{url:'http://example.com/fail.html' };
}
}它应该完全是您所期望的
我希望将配置字符串传递给管道,但也希望注入服务。NesJs文档描述了如何独立完成这两项工作,但不能同时完成。以以下为例:
烟斗
@Injectable()
export class FileExistsPipe implements PipeTransform {
constructor(private filePath: string, db: DatabaseService) { }
async transform(value: any, metadata: ArgumentMe
我成功地在nodejs中运行websockets-作为命令行websockets服务器,使用wshttps://www.npmjs.com/package/ws
我无法使nestjs websockets网关正常工作。我试过:
-这里是github的工作示例。它运行-但我无法连接到它
如果我在nodejs中使用ws-client进行连接,我会得到:
错误:套接字挂起
我也试着联系。我可以将其连接到其他websocket服务器
我也试过这个,它说
[Nest] 29036 - 06/11/20
试图在我的CreateUserAction.ts中使用我的ICommandBusAdapter.ts,但出现以下错误:
[ExceptionHandler]嵌套无法解析ICommandBusAdapter(?)的依赖项。请确保索引[0]处的参数在AdapterModule上下文中可用
我已经创建了一个AdapterModule,它将所有提供程序共享给其他模块,但它似乎不起作用
有什么想法吗
AppModule.ts
从'./User/UserModule'导入{UserModule};
从“./
标签: Nestjs
express-gatewayfusionauth
我想实现一个小型的微服务基础设施,将应用程序业务逻辑域与用户身份验证和api密钥管理的繁琐任务分离开来
在我的场景中,我有一些属于某些组织的注册用户。注册用户可以通过角色等方式读取其组织的数据,他们还可以使用api密钥身份验证来读取和写入数据
预算很低,比如说零,因为这是目前的一个概念。因此,没有像AWS、Azure、Auth0这样酷的付费服务。我也希望它能和Docker一起在本地集装箱上运行。
业务逻辑的首选语言是TypeScript/JavaScript,尽管我认为这是一种语言不可知的场景
我希望在我的nestJs应用程序中使用multer,如下所示:
@Post()
@UseInterceptors(
FileInterceptor('file', {
storage: diskStorage({
destination: './files',
}),
}),
)
async upload(@Request() req, @Query() query: any, @UploadedFile() file) {
我有几个关于NestJS和TypeOrm的问题。
首先,如何将字符串数组传递给DTO?我试图使用:string[]类型,但编译器给出了一个错误。
这是我的邮政实体:
@Entity('posts')
export class Post {
@PrimaryGeneratedColumn()
id: number;
@ManyToOne(() => User, user => user.posts, { cascade: true })
author:
我正在构建一个nestjs应用程序,我想在其中创建一个rabbitmq
@Module({
imports: [
ClientsModule.register([
{
name: 'rabbitmq',
transport: Transport.RMQ,
options: {
urls: [
'amqp://guest:guest
我正在尝试在nest js控制器中设置自定义响应头并使用fastify。
目前,我正在尝试:
@Post()
async methodName(@Res res){
res.set('key', 'value');
};
但是我得到了一个错误:res.set不是一个函数
有人能帮我吗?解决方案是:
res.header('key', 'value');
如果还需要设置静态标头值,则始终可以在路由处理程序上使用@header()装饰器,以便
@Post()
@标题('键','值')
异步方法(
我有一个嵌套集合的类别实体。创建嵌套集时,typeorm生成“nsleft”和“nsleft”列。问题是,我读过一个数据库,它有不同的列名称“\u lft”和“\u rgt”。因为我无法在数据库中重命名我的列,因为其他api也在使用它。我是否可以编写实体以查找“\u lft”而不是“nsleft”,并查找“parent\u id”而不是parentId
@Entity()
@Tree("nested-set")
export class Category {
@Pr
标签: Nestjs
fastifynestjs-fastify
我觉得没有涵盖这个用例-有“动态模板渲染”部分+Fastify,但两者结合在一起似乎效果不好
我尝试了以下代码片段:
从'@nestjs/common'导入{Get,Res}
@得到()
索引(@Res()Res){
if(isFoo()){
返回res.render('template1.html',{var1:'foo'})
}否则{
返回res.render('template2.html',{var2:'bar'})
}
}
它失败了
TypeError:res.render不是函数
我一直在使用类验证器验证请求,NestJS validation plus尝试验证头内容。我的基本接口都正常工作,但现在我正试图以相同的方式比较一些标题字段数据
我试图处理标题,但是这个问题的解决方案将返回一个标题。我希望能够处理所有这些数据,就像处理所有body()数据一样
我需要能够创建一个用于提取头字段的自定义装饰器,并能够将它们传递到类验证器DTO中
例如,我想验证三个标题字段,例如:
User-Agent = 'Our Client Apps'
Content-Type = 'appl
我试图使用项目外部定义的类型orm实体。也就是说,我有两个项目:模型和核心api。Models是导出实体定义的npm包。因此,从核心api(nestjs项目)开始,我尝试使用这些实体定义连接。大概是这样的:
@Module({
imports: [ TypeOrmModule.forRoot({
type: 'postgres',
host: 'postgres',
port: 5432,
username: 'myuser',
password:
如果发生SQL错误,调用堆栈只能追溯到以下内容
at Query.Sequence._packetToError (/Applications/MAMP/htdocs/nestCms/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
at Query.ErrorPacket (/Applications/MAMP/htdocs/nestCms/node_modules/mysql/lib/protocol/sequences
我试图在NestJS应用程序中使用Sentry。我按照Sentry网站上的说明设置了一个NodeJS应用程序来使用Sentry,但没有成功。有人能给我指一下正确的方向吗。这个包裹可以帮你。上面有一个非常直接的文档。这个软件包可以帮助您。它有一个非常直接的文档
我来自.net背景,几天前开始在我的一个项目中使用nestjs
我喜欢nestjs的构建方式,但这里没有什么问题
在使用.net时,我可以通过Ado.net、EF等ORM轻松地将.net应用程序与数据库连接起来
如何将nestjs与Postgres或SQL Server数据库连接
无论答案是什么,我也想知道这是否适用于企业应用程序
有参考网站吗
提前感谢这些文档展示了如何使用和连接到数据库的示例,如果您想使用其他功能,也可以使用自定义提供程序滚动您自己的动态模块。有一些包裹是为和准备的。这些都非
标签: Nestjs
typeormpassword-hash
我在服务器上进行授权和用户注册。在搜索中我找到了一个小向导。随后他进行了注册和用户授权。我的问题是,在注册过程中,密码存储在数据库中
注册后,密码以明文形式存储
控制器和模型与我上面引用的手册中的控制器和模型没有区别
@Post('login')
async login(@Body() user: UserEntity): Promise<Object> {
return await this.authService.login(user);
}
@Post('regis
我在向嵌套项目中添加第二个实体时遇到问题。它只适用于一个实体视频,但现在当我添加另一个用户时,我得到错误未找到“用户”的存储库。编译时,此实体似乎未在当前“默认”连接中注册?
我做错了什么
database.module.ts
import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { ConfigModule } from "../config/config
我试图从Nrwl nx项目中的cli生成一个NestJS模块,但收到一个错误消息
发生未处理的异常:在集合“@nrwl/nest”中未找到原理图“模块”
我正试着用
ng g@nrwl/nest:模块我的新模块名称
这是在Nrwl中实现这一点的正确方法,还是我们应该做其他事情?没有这样的示意图
您只能使用该模块生成nestjs模块
没有这样的示意图
您只能使用该模块生成nestjs模块
总之,如何在配置情况下使用DynamicModule
例如官方的例子
在类似配置的官方示例之后:
import { Inject, Injectable } from '@nestjs/common';
import * as dotenv from 'dotenv';
import * as fs from 'fs';
import * as path from 'path';
import { CONFIG_OPTIONS } from './constants';
import { Con
我有一个应用程序,它接收一个依赖于控制器的服务,到目前为止还不错,但我想找到一种方法,不声明该服务的具体实现,而是能够从控制器“询问”该服务实现的接口,以解耦该服务的具体实现。在nest js中是如何做到这一点的?要做到这一点,您必须为接口创建注入令牌,并在注入服务时使用@Inject()装饰器和注入令牌。然后在您的模块中,您可以声明为该注入令牌提供哪个实现
下面是一个简单的问候服务接口和我们的注入令牌,将在将我们的服务注册为提供者时使用
问候语-service.interface.ts
现在,
我有下一个代理配置(我刚刚在postman中测试了它及其工作原理)
主持人:'http://tsl.proxyurl.com/standard.pac,端口:8080,协议:https,无用户名,无密码
And this is my code:
const options = {
data,
'proxy': {
host: 'http://tsl.proxyurl.com/standard.pac',
当发生未经处理的错误时,前端会收到一个500错误,而没有任何关于该错误的信息。它只收到以下信息:
{
"statusCode": 500,
"message": "Internal server error"
}
但是当我检查控制台时,我看到发生了什么以及错误消息是什么。这在开发环境中是可以的,但在生产环境中很难理解。如何在生产中返回完整的错误消息,而不是像内部服务器错误这样的简单消息?一般来说,您应该针对可能出现错误的数据
标签: Nestjs
typeormmaterialized-path-pattern
我有一个具有“物化路径”树结构的实体
我正在给孩子们装东西。它给出了一个空的子对象
以下是实体
@Entity({ name: 'sector' })
@Tree('materialized-path')
export class SectorEntity {
constructor(data?: Partial<SectorEntity>) {
Object.assign(this, data);
}
@ApiProperty(
我正在尝试实现这个示例。它看起来很容易实现,但我有一些麻烦
@Get('test')
async test(
@Query('size', new DefaultValuePipe(10), ParseIntPipe) size: number,
@Query('page', new DefaultValuePipe(1), ParseIntPipe) page: number,
) {
// Do some stuff
}
我提出的第一个请求是http://localhost
已使用“nest new”命令启动新项目。工作正常,直到我添加实体文件到它
出现以下错误:
从“typeorm”导入{Entity,Column,PrimaryGeneratedColumn}
^^^^^^
SyntaxError:无法在模块外部使用导入语句
我错过了什么
将实体添加到模块:
import { Module } from '@nestjs/common';
import { BooksController } from './books.controller';
import {
在以下情况下如何设置适配器:
NestFactory.create const app = await NestFactory.create(AppModule, new ExpressAdapter(server));
我想在服务器中使用config中的参数。您需要ConfigService做什么?由于您有一个服务器(可能是一个Express实例),您可以使用服务器在服务器上设置内容。使用或Express实例可以执行的任何其他操作。
如何获取NestJS正在处理的页面的完整URL?
(例如。http://localhost:3000/hoge)
您可以使用Req()注入请求对象,从而使您可以执行与在纯express应用程序中所做的几乎相同的操作
import {Controller, Get, Req} from '@nestjs/common';
import {Request} from 'express';
@Controller()
export class AppController {
@Get
我尝试用TypeORM中的子查询创建查询
const query = await this.contactRepository.createQueryBuilder('c')
.select(['c.id', 'c.type_id', 'c.value'])
.addSelect(subQuery => {
return subQuery
.select('system_name', 'type_name')
Nestjs文档建议对DTO使用类而不是接口,因为它们在编译的JavaScript中被保留为真实实体,但实际上负载类没有正确实例化(使用new()),它们是与类具有相同形状的对象。
下面的示例不起作用。
在本例中,是否有方法获得正确实例化的运行时CatDto类
class CatsDto {
constructor(private name: string) {}
public greet() {
return `${this.name} say miaouw`;
}
}
我正试图将我的请求注入到服务中,但它不起作用。
我遵循了以下文件:
import { Injectable, Scope, Inject } from '@nestjs/common';
import { REQUEST } from '@nestjs/core';
import { Request } from 'express';
@Injectable({ scope: Scope.REQUEST })
export class CatsService {
constructor(@
是否有一种方法可以使生成的所有外键都跟随下划线用户id,而不是camelCase用户id
是否有一种配置TypeForm的方法,以便在定义关系时不必考虑它
`userId` varchar(36) COLLATE utf8mb4_unicode_ci DEFAULT NULL
是,当您这样定义列时,可以通过指定nameproperty来实现这一点(请参阅此处所有可能的选项):
然后,数据库字段将是user\u id,但在访问实体时,它将映射回userId
@Column('int', {
昨天我通过注释构造函数参数错误地使用了@Inject()
使用@Inject()(不带第一个参数),但该参数不需要
@Inject()实际上:
导出类AppController{
构造函数(@Inject()私有只读appService:appService){}
//我不该写这个!
// ...
}
由于这个错误,Nest.js抱怨它找不到要注入参数的对象:
[Nest] 6276 - 2021/04/21 14:12:16 [ExceptionHandler] Nest can't
我刚刚通过typescript装饰程序在NestJS应用程序中注册了一些指标。我使用prom客户端包,但尽管我可以记录注册的度量,但端点没有公开这些度量,我用来显示所有度量的Prometheus docker实例也没有显示这些度量
如何在/metrics endpoint和Prometheus仪表板中查看已注册的指标?我解决了将注册表传递到构造函数选项中的自定义指标的问题,该注册表将按如下方式使用:
新计数器({name,help,registers:[registerOn]})
其中,reg
标签: Nestjs
chatbottemplate-enginetelegraf.js
我正在尝试使用创建电报聊天机器人应用程序
然后我想到使用模板引擎,就像从中学习的一样,为收到的每条消息呈现回复消息
但是,我找不到任何方法来做到这一点。我所得到的只是每个人在他们的方法中使用@Res参数,然后返回Res.render(…)
有什么办法吗
我不想使用`和字符串插值手动格式化回复消息。选择查看引擎
首先,您必须选择一个视图引擎,它将负责渲染模板并执行必要的插值
您可以检查以下视图引擎:
把手:
哈巴狗:
配置应用程序
然后,您必须创建一个视图和公用文件夹,通常该文件夹位于项目目录的根
我想将配置提供程序从文档导入另一个提供程序
我使用的配置结构与文档中的配置结构相同
因此,config.module.ts如下所示:
import { Module, Global } from '@nestjs/common';
import { ConfigService } from './config.service';
@Global()
@Module({
providers: [
{
provide: ConfigService,
useVal
标签: Nestjs
rate-limitingfastify
我可以在我的nest应用程序中全局应用一个速率限制器,代码与的答案类似。在上,可以通过带有带有选项的rateLimit对象的config属性将速率限制器应用于特定路由。Nest的文档没有解释如何做到这一点;在框架中可能还是我运气不好?没有内在的方法将其仅添加到端点,但是您可以修改白名单属性函数,以便为所有路由返回true,除了您想要限制速率的路由。它可能看起来像
app.use(费率限制)({
白名单:(请求,密钥)=>{
return!limitProtectedRoutes.includes
我已经设置了一个MongooseConfigService,允许我们为某些请求动态切换连接字符串,并且正在尝试正确设置测试
@Injectable({scope: Scope.REQUEST})
export class MongooseConfigService implements MongooseOptionsFactory {
constructor(
@Inject(REQUEST) private readonly request: Request) {
}
但是,
假设我们希望在dev服务器上运行时禁用缓存,并在prod服务器上启用缓存机制,而不是添加和删除CacheInterceptor拦截器。我们怎么办
@Get()
@UseInterceptors(CacheInterceptor)
getData()
return "here is your data";
}
我想在每次请求后将数据保存到数据库。我正在尝试在拦截器中创建函数,但在连接到实体时遇到一些问题
这是拦截器类的定义:
@Injectable()
export class TransformInterceptor<T> implements NestInterceptor<T, Response<T>> {
constructor(@InjectRepository(UserLog) private readonly userLogRepository:
我的解析程序中有以下查询:
从'@nestjs/graphql'导入{Args,Query};
从“mongodb”导入{Collection,FilterQuery,FindOneOptions};
...
@查询(返回=>[Recipe])
异步配方(
@Args()查询:FilterQuery,
@Args()选项:FindOneOptions
):承诺{
返回这个.recipeService.findAll();
}
我试图允许在查询配方时使用query和options的参数
我遇到的
我使用的是serverless+NestJS,有一个图像上传api
如果我使用UseInterceptors,则会出现此错误
Error: Part terminated early due to unexpected end of multipart data
at /srv/storage-server/node_modules/dicer/lib/Dicer.js:65:36
at _combinedTickCallback (internal/process/next_tick.js:1
我正在尝试以formdata格式在我的nestjs服务器上发出post请求。我尝试过:
@Post()
createUser(
@Body(new ValidationPipe({transform: true})) createUserDTO:CreateUserDTO,
) {
console.log("creating new user", createUserDTO)
}
但到目前为止,i console.log的作用是:
正在创建新用户{}
或者一
我正在尝试使用typeorm从db返回softremoved产品,代码如下:
async getEndedSalesOfUser(user: User): Promise<Sales[]> {
return await getRepository(Sales)
.createQueryBuilder("sales")
.leftJoin("sales.merchant", "m")
app2的控制器不工作。不能在同一端口上运行两个应用程序。如果您试图设置microservice体系结构并希望通过同一端口访问您的应用程序,则需要在它们前面放置一个反向代理,通过端口3000为两个应用程序提供服务,然后在不同端口上运行这两个应用程序。对谷歌来说,一个好词是“nginx proxy_pass”
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import *
二,
我有一个NestJS订阅服务器,可以监听任何创建、更新或删除事件(TypeORM)。当触发其中一个事件时,我希望使用注入服务来创建新的修订条目
然而,我似乎无法获得依赖性I getting error Nest无法解析作业的依赖项(?)。请确保索引[0]处的参数连接在JobPostingModule上下文中可用
密钥文件:
Jobs.entity.ts
JobPostingModule.ts
import { Module } from '@nestjs/common';
import {
这样做可以吗:
@WebSocketGateway()
export class BoardUpdateGateway {
boardsService = new BoardsService();
sectionsService = new SectionsService();
tasksService = new TasksService();
...
}
或者我应该像nestJS文档示例那样,通过构造函数注入依赖项:
@Controller('boards')
export
我想知道如何限制prisma中字段中的可能值
我的模型现在看起来像这样
model FraudOrderCheck {
id Int @id @default(autoincrement())
brand_name String
retries Int @default(0)
validation_state String
上一页 1 2 ...
6 7 8 9 10 11 12 ...
下一页 最后一页 共 14 页