Попытка сделать POST-запрос с почтальоном, но ничего не происходит (Nest JS и TypeORM) - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь сделать простое POST request, но обратной связи нет, а новые данные не попадают в базу данных (Postgres). Я использую Nest JS и TypeORM. Когда я пытаюсь сделать GET request все нормально. Я новичок в Почтальоне, но не смог найти никакой помощи по inte rnet ...

POST-запросу Почтальона (я пробовал только с именем пользователя и паролем):

{
    "id": 11,
    "username": "proba11",
    "password": "proba11",
    "method": 1,
    "status": "ACTIVE"
}

Схема объекта с TypeORM:

@Entity({ name: "user_user" })
export class User extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ unique: true })
  username: string;

  @Column()
  password: string;

  @Column()
  method: number;

  @Column()
  status: UserStatus;

  @CreateDateColumn({ type: "timestamp" })
  createdat: number;

  @UpdateDateColumn({ type: "timestamp" })
  updatedat: number;
}

Контроллер:

@Post()
async create(@Res() resp: Response, @Body() user: User) {
 const ret = await this.userService.save(user);
 resp.status(ret).send();
  }

И, наконец, функция сохранения Сервиса:

hash1(password: string): string {
    var newpass = password + pepper;
    const salt = bcrypt.genSaltSync(10);
    return bcrypt.hashSync(sha3_512(newpass, undefined), salt);
  }

async save(user: User): Promise<number> {
    try {
      user.status = UserStatus.ACTIVE;
      user.method = 1;
      user.password = this.hash1(user.password);
      await this.userRepositroy.save(user);
      return HttpStatus.OK;
    } catch (e) {
      if (e instanceof QueryFailedError) return HttpStatus.CONFLICT;
      this.logger.error(e);
      return HttpStatus.BAD_REQUEST;
    }
  }

Надеюсь вы, ребята, можете помочь:)

1 Ответ

1 голос
/ 19 апреля 2020

Попробуйте добавить заголовок в Почтальон, чтобы принять json, как показано ниже:

"Content-Type": "application/json"

Надеюсь, полезно для вас

...