【发布时间】:2020-09-03 03:32:06
【问题描述】:
我遇到了一个使用 PostgreSQL 类型将我的数据库连接到 Digital Ocean 的 TypeOrm 问题。 连接工作正常,实体已链接并生成,但是当我尝试在 localhost/users 上发出 POST 请求时,我得到 MustBeEntityError: Cannot save,给定的值必须是一个实体,而不是给出“未定义”,而 GET 就像一个魅力并返回数据
user.entity.ts
import { Column, Entity, PrimaryGeneratedColumn, Unique } from "typeorm";
@Entity({
name: 'user',
})
export class UserEntity {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
}
user.repository.ts
import {EntityRepository, Repository} from "typeorm";
import { UserEntity } from "./user.entity";
@EntityRepository(UserEntity)
export class UserRepository extends Repository<UserEntity> {
async findAllUsers(){
return await this.find()
}
async createUser(userAccount: UserEntity){
return await this.save(userAccount)
}
}
user.service.ts
import { Injectable } from '@nestjs/common';
import { UserRepository } from "./user.repository";
import { UserEntity } from "./user.entity";
@Injectable()
export class UserService {
constructor(
private userRepository: UserRepository,
) {}
async find() {
return await this.userRepository.findAllUsers()
}
async create(user: UserEntity) {
return await this.userRepository.createUser(user)
}
}
user.controller.ts
import { Controller, Get, Post } from "@nestjs/common";
import { UserService } from "./user.service";
@Controller('users')
export class UserController {
constructor(private readonly userService: UserService) {
}
@Get()
async findAll(){
return await this.userService.find()
}
@Post()
async create(user){
return await this.userService.create(user)
}
}
【问题讨论】:
标签: javascript postgresql digital-ocean nestjs typeorm