小编Fuz*_*per的帖子

Nestjs 依赖注入 - 将服务注入服务

我有一项服务,可以毫无问题地注入其他组件。

当我尝试将该服务注入另一个服务时,我得到

Error: Nest can't resolve dependencies of the AService (?). 
Please make sure that the argument BService at index [0] is available in the AService context.
Run Code Online (Sandbox Code Playgroud)

我找不到任何方法来相互注入服务。这是否不受支持,有点反模式......?

如果是这样,如何处理具有我希望在多个组件和服务中的所有应用程序中可用的功能的服务?

代码如下:

b.模块.ts

import { Module } from '@nestjs/common';
import { BService } from './b.service';

@Module({
  imports: [],
  exports: [bService],
  providers: [bService]
})
export class bModule { }
Run Code Online (Sandbox Code Playgroud)

b.服务.ts

import { Injectable } from '@nestjs/common';

@Injectable()
export class BService {
  someFunc();
}
Run Code Online (Sandbox Code Playgroud)

a.module.ts

import { Module } from '@nestjs/common';
import { SensorsService …
Run Code Online (Sandbox Code Playgroud)

dependency-injection typescript nestjs

13
推荐指数
1
解决办法
2万
查看次数

在 NestJS 中使用与 GraphQL 中的 Input 和 Object 类型相同的类

我正在尝试设置我的 graphql resover 来处理一组对象,但无法配置 @Args 装饰器。

我创建了自己的 ArgsType

import { ArgsType, Field, Int, ObjectType } from '@nestjs/graphql';

@ArgsType()  // to be used as type in the resolver
@ObjectType()  // for schema generation 
export class Club {
 @Field(type => String)
 president: string;

 @Field(type => Int)
 members?: number;
}
Run Code Online (Sandbox Code Playgroud)

添加单个俱乐部的解析器工作正常!

 @Query(() => Int)
 async addClub(@Args() club: Club) {
  // handle stuff
  }
Run Code Online (Sandbox Code Playgroud)

但如果我想像这样提供一系列俱乐部

 @Query(() => Int)
   async addClubs(@Args({name: 'clubs', type: () => [Club]}) clubs: Array<Club>) {
   // handle stuff
  }
Run Code Online (Sandbox Code Playgroud)

这在 Nest …

typescript graphql nestjs

9
推荐指数
1
解决办法
2502
查看次数

Flutter Navigation push() 和 pop(),填满堆栈?

在 Flutter 中构建应用程序,我想使用导航抽屉并添加了一些 FlatButtons。每个FlatButton都有一个onPressed()方法,我可以Navigator.push()移动到所需的页面,它工作得很好。

我想知道这是否会随着时间的推移填满内存,因为我总是在推送但从不从堆栈中弹出页面。总是将 aNavigator.pop()与 aNavigator.push()连续组合似乎有点奇怪,而且与良好实践相去甚远。

也许有人可以启发我了解正确的方法。

dart flutter

6
推荐指数
2
解决办法
9059
查看次数

NestJS 将 HTTP 重定向到 HTTPS / 强制 SSL

构建 NestJS 应用程序 我想通过 https 路由所有传入流量,而不会给用户带来不便。

目前我知道的有两种方式,都不符合我的要求。

  1. 为 http 和 https 设置两个服务器,然后重定向每个路由/api 端点的流量,这确实不是 DRY,也不是最佳实践。文档重定向

  2. 通过仅创建 https 服务器,用户总是被迫手动输入我不想要的 https 地址。文档 https

理想情况下,我会假设一个解决方案,其中检查 https 并强制有人只需键入即可访问服务器的第一刻example.com。我认为这最好在我的 NestJS 应用程序中完成main.ts

security https typescript nestjs

4
推荐指数
2
解决办法
4926
查看次数

Qt Creator添加mqtt库

使用QT Creator 4.3.1在Win 10上工作尝试通过GUI将库添加到我的qt项目中.具体来说就是qtmqtt库.

右键单击项目 - >"添加库...",没有任何反应.

还有其他人有这个问题吗?

好像我是愚蠢的通过.pro文件添加库目录.谷歌搜索了几个小时,但无法绕过它.所以我真的需要GUI解决方案才能工作.

c++ qt mqtt

3
推荐指数
1
解决办法
6523
查看次数

Nestjs azure 活动目录和 graphql - UseGuard

使用 Nestjs 和 graphql 构建 API 我想实现 Azure Active Directory 进行授权。他们提供了一个 passport-azure-ad包含策略的包。当我将 Nestjs 防护添加到 REST 端点时,它工作得很好,但使用 GrapQL 解析器时,它会抛出错误Cannot read property 'query' of undefined

Nestjs文档给出了一些提示,但我不知道如何实现并使 graphql 查询可用于护照策略。

我的守卫看起来如下:

import { Injectable } from '@nestjs/common';
import { PassportStrategy, AuthGuard } from '@nestjs/passport';
import { BearerStrategy } from 'passport-azure-ad';
import * as dotenv from 'dotenv';
dotenv.config();

const clientID = process.env.AZURE_AD_CLIENT_ID;
const tenantID = process.env.AZURE_AD_TENANT_ID;

/**
 * Extracts ID token from header and validates it.
 */
@Injectable()
export class …
Run Code Online (Sandbox Code Playgroud)

azure-active-directory passport.js graphql nestjs

3
推荐指数
1
解决办法
1666
查看次数

TypeORM自定义存储库,从指定列中选择不同的值

在我使用 Nestjs + typeorm + postgresql 的后端中,我有一个 CustomRepository 并且想要替换一些普通的 sql 查询。

这就是我所拥有的

const sqlQuery = `SELECT DISTINCT "myColumn" FROM "myTable"`
const sqlRes = await this.query(sqlQuery);
Run Code Online (Sandbox Code Playgroud)

我正在尝试得到这样的东西

this.find({select:["myColumn"]}); // note the missing DISTINCT
Run Code Online (Sandbox Code Playgroud)

但这给了我完整的专栏,但我只想要不同的值。

我发现了很多奇怪的createQueryBuilder().select(DISTINCT "myColumn" FROM "...... etc...解决方案,与我的工作解决方案相比,它们并没有给我带来任何好处。

javascript postgresql typeorm nestjs

1
推荐指数
1
解决办法
8963
查看次数