虽然我能够完美地执行GET请求,但我在使用表单数据发送POST请求时遇到了麻烦。
虽然我能够使用form-urlencoded和原始JSON成功发送POST请求,但我在处理表单数据时遇到了麻烦。
当我试图向我的数据库发送一个post请求时,我似乎得到了一个错误:ER_NO_DEFAULT_FOR_FIELD: Field 'username' doesn't have a default value
,尽管我在postman中为它提供了一个值。
下面是我的repo代码:
import { EntityRepository, Repository } from 'typeorm';
import { User } from './user.entity';
import { CreateUserDTO } from './dto/create-user.dto';
@EntityRepository(User)
export class UserRepository extends Repository<User> {
getUser() {
const query = this.createQueryBuilder('user');
return query.getMany();
}
createUser(createUserDTO: CreateUserDTO) {
const {username, email } = createUserDTO;
// tslint:disable-next-line:no-console
console.log('Repo', username);
// tslint:disable-next-line:new-parens
const newuser = new User(); //edited after Natan's comment
newuser.username = username;
newuser.email = email;
return newuser.save();
}
}
字符串
这是我的实体代码:
@Entity()
export class User extends BaseEntity {
@PrimaryGeneratedColumn()
id: number;
@Column()
username: string;
@Column()
email: string;
}
型
我在控制器中的请求:
@Post()
createUser(
@Body() createUserDTO: CreateUserDTO,
) {
// tslint:disable-next-line:no-console
console.log('creating new user', createUserDTO);
return this.userService.createUser(createUserDTO);
}
型
下面是postman中的post请求的图片:
1条答案
按热度按时间mgdq6dx11#
你必须使用
()
在TS中示例化一个类,比如:字符串