웹사이트 검색
저는 제 NestJS 앱에 Swagger를 추가하려고 하고 있지만, 모듈을 찾을 수 없다는 오류가 계속 발생하고 있습니다. package.json 파일에 추가하기 위해 npm install --save @nestjs/swagger swagger-ui-express를 사용했습니다. 또한 저는 docker와 docker-compose를 사용하고 있다는 점을 참고해 주세요.
main.ts 파일:
import { NestFactory } from '@nestjs/core'; import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); const whi 더 많은 것을 읽으십시오 →슈마 인터페이스
export interface MyCat { name: string; color: string; } export type Cat = MyCat & Document; export const CatSchema = new Schema({ name: { type: String, required: true, }, color: { type: String, required: true, } });해당 함수가 받는 Dto(색상 속성이 없다는 점에 유의)
export class CreateCatDto { @IsString() readonly name: string = 'Franco'; }함수가 호출되면, 새로운 Cat(cat)에서는 오류가 없지만, mongoose에서는 필요한 속성이 없다는 런타임 오류를
더 많은 것을 읽으십시오 →
NestJS/Fastify와 타입스크립트로 파일을 업로드하려고 시도했습니다
이것은 main.ts입니다
async function bootstrap() { //file upload with fastify const fastifyAdapter = new FastifyAdapter(); fastifyAdapter.register(fmp, { limits: { fieldNameSize: 100, 더 많은 것을 읽으십시오 →저는 몇 가지 타입과 함수를 내보내는 패키지 A와, 패키지 A를 의존성으로 사용하고 다른 타입과 함수도 내보내는 패키지 B가 있습니다.
저는 패키지 C에서 패키지 A와 패키지 B를 종속성으로 가져옵니다. 패키지 A의 타입을 사용할 때 api 문서를 위해 새로운 nestjs swagger 플러그인을 사용하지만, 패키지 A의 타입은 직접 패키지 A에서 가져오는 것이 아니라 ./packageB/node_modules/packageA에서 가져옵니다.
누구 아세요, 왜 그런지?
추신: 저는 lerna를 사용하고 있으며 패키지 A, B, C가 동일한 레포지토리에 있습니다. tsconfig.json의 preserveSymlinks 옵션이 어느 정도 영향을 주는 것 같지만, 이 옵션을 끄면 import 패키지가 상대 경로('../../../../../packageA'가 아니라 'packageA')로 나타납니다.
더 많은 것을 읽으십시오 →
저는 NestJS 문서에 설명된 대로 구성 검증을 설정했습니다: https://docs.nestjs.com/techniques/configuration#schema-validation
유효성 검사는 예상대로 작동하지만, 제 .env 파일이 유효하지 않을 때는 다음과 같이 일반 오류가 발생합니다:
오류: 구성 검증 오류: "FOO_BAR"가 필요함 at Function.forRoot (<PATH>\@nestjs
더 많은 것을 읽으십시오 →나는 동일한 객체에 대해 스키마를 다르게 검증하는 괜찮은 방법을 찾으려고 하고 있다. 그것이 내가 groups validationOption을 class-validator에서 알게 된 방법이다.
NestJS Body 매개변수 문서에 따르면, 그것은 다음과 같이 명시하고 있습니다
바인딩된 본문 매개변수에도 파이프를 적용합니다.
저는 status 속성을 가진 Event 모델이 있습니다. Event를 생성할 때 (POST - /events) status는 선택사항이지만, status를 업데이트할 때 (PATCH - /events/:id/status)는 필수입니다.
@Entity 더 많은 것을 읽으십시오 →안녕하세요, 저는 NestJS를 MySQL에 연결하는 데 문제가 있습니다. 연결 방식을 바꿀 때마다 다른 오류가 발생합니다. 이것은 conf.ts에 있을 때의 한 가지 오류입니다.
ocrmconfig.json으로 시도해 보세요
{ "type": "mysql", "host": "localhost", "port": 3306, "username": "root", "password": "root", "database": "famby_app", "entities": ["dist/**/*.entity{.ts,.js}"], "synchronize": true, "logging": true } [Nest] 27419 - 04/08/2020, 6:02:56 PM [TypeOrmModule] Unable to connect to the database. Retrying (9)... +4032ms /Applic 더 많은 것을 읽으십시오 →저는 제 백엔드(NestJs)에 파일을 업로드하는 데 매우 어려움을 겪고 있습니다. 제 FileInterceptor가 Multer 옵션으로 설정된 'fieldName'을 어떻게 읽는지 이해하지 못하겠습니다.
여기 제 mediaService(프론트)입니다
/* Upload an image into the server */ uploadImage(image: File) { const formData = new FormData(); formData.append('file', image); return this.http.post<any>(`${this.serverUrl}/medias`, { formData }); }매우 간단해 보이지만, 내 서버는 이미지를 저장하지 않고 undefined를 반환합니다.
여기 제 파일 업로드용 API 엔드포인트가 있습니다
@Post( 더 많은 것을 읽으십시오 →너는 믿지 못할 거야, 하지만 나는 Todo 서버용 API를 만들고 있어! 야!
저는 인증을 위해 Nestjs, Auth0, 그리고 Passport를 사용하고 있습니다. 클라이언트가 유효한 토큰을 보내고 있는 것을 확인했습니다.
저도 /todo 컨트롤러가 401 오류 외에는 아무것도 반환하지 않아서 정말 답답합니다.
구글에 대해 철저히 조사를 했지만, 아쉽게도 아무 것도 효과가 없는 것 같습니다.
자, 제 JWT 전략은 다음과 같습니다:
import { passportJwtSecret } from 'jwks-rsa'; import { ExtractJwt, Strategy, VerifiedCallback } from 'passport-jwt'; import { Injectable, UnauthorizedException } from '@nestjs/common'; import { Pass 더 많은 것을 읽으십시오 →저는 동료들과 함께 대학 프로젝트를 진행하고 있는데, 다음 오류가 Windows 10에서 나타납니다(경로 중간 부분은 줄였습니다). Windows에서는 import가 절대 경로로 해결되는 것 같고, somehow "../"가 앞부분에 포함되어 있습니다. 저희는 NestJS, Typescript, Webpack을 사용하고 있습니다. 다른 모든 import는 문제없이 작동하지만, 저희 Dto의 모든 중첩된 import만 실패하는 것 같습니다.
ERROR in ./src/foo/dto/test.dto.ts Module not found: Error: Can't resolve '../C:\project\api\src\foo\dto\reference.dto' in 'C:\project\api\src\foo\dto'TestDto와 ReferenceDto는 같은 폴더에 있습니다. 소스 코드:
import { R 더 많은 것을 읽으십시오 →