2
respostas

Erro na hora do badrequest

Olá, estava acompanhando a aula mas não aconteceu o "Bad Request" no Postman não sei o que fiz de errado segue o código abaixo:

Main:


import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { useContainer } from 'class-validator';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.useGlobalPipes(new ValidationPipe({
    transform: true
  }));
  useContainer(app.select(AppModule), { fallbackOnErrors: true});
  await app.listen(3000);

}
bootstrap()

is-user-already-taken.validator.ts:


@Injectable()
@ValidatorConstraint()
export class IsUserNameAlreadyTakenContraint implements ValidatorConstraintInterface{

    constructor(private userService: UserService){}

    validate(userName: string, validationArguments?: ValidationArguments,): boolean | Promise<boolean> {
       return !!!this.userService.searchForUserName(userName);
    }
}
export function IsUserNameAlreadyTaken(validationOptions?: ValidationOptions){
    return function (object: Object, propertyName: string){
        registerDecorator({
            target: object.constructor,
            propertyName: propertyName,
            options: validationOptions,
            constraints: [],
            validator: IsUserNameAlreadyTakenContraint,
        })
    }
}

user.Module.ts:


@Module({
    controllers:[UserController],
    providers:[UserService, IsUserNameAlreadyTakenContraint]
})
export class UserModule{}
2 respostas

Oi Lucas, tudo bem? Posta aqui o código do seu UserController por gentileza?

Fiz algumas alteração no código agora é ContasController:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeimport { Body, Controller, Get, Param, Post } from "@nestjs/common"; import { Conta } from "./conta.entity"; import { ContasService } from "./contas.service";

@Controller('contas') export class ContaController{

constructor(private contasService: ContasService){}

@Get(':numeroDaConta')
public buscarNumeroDaConta(@Param('numeroDaConta') numeroDaConta: number){
    const contaEncontada = this.contasService.buscarNumeroDaConta(numeroDaConta);

    return contaEncontada;
}

@Post()
public criar(@Body() conta: Conta): Conta{
    const contaCriada = this.contasService.criar(conta);

    return contaCriada;
}

}

Esse erro ocorre quando o Postman envia uma requisição POST,

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software