node.js - 如何在 typeorm 控制器中验证请求
问题描述
我创建了一个示例应用程序来为用户保存数据。我想知道在保存和显示 JSON 响应之前如何验证它。我有一个参考链接,但它没有使用控制器。
请建议使用控制器的解决方案。下面是我的代码
实体文件:
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
age: number;
}
控制器文件:
import {getRepository} from "typeorm"; import {NextFunction, Request, Response} from "express"; import {User} from "../entity/User";
export class UserController {
private userRepository = getRepository(User);
async all(request: Request, response: Response, next: NextFunction) {
return this.userRepository.find();
}
async one(request: Request, response: Response, next: NextFunction) {
return this.userRepository.findOne(request.params.id);
}
async save(request: Request, response: Response, next: NextFunction) {
return this.userRepository.save(request.body);
}
async remove(request: Request, response: Response, next: NextFunction) {
let userToRemove = await this.userRepository.findOne(request.params.id);
await this.userRepository.remove(userToRemove);
}
}
我想验证firstname
并且lastname
作为强制性的,即不应接受空白值,并且年龄不应仅采用空白值和数字。
解决方案
推荐阅读
- python - 如何执行此 python 发布请求
- reactjs - 如何在 webpack 中添加 react-hook-form 作为外部库?
- amazon-web-services - 如果 Amazon S3 存储桶应该在整个 AWS 云中是“全球唯一的”,我如何拥有一个名为“todo”的存储桶?
- python - 从二维数组中选择随机索引
- visual-studio-code - 如何在 VS Code 中一次查看多个文件的内联差异?
- linux - 为什么安装 sudo 后 docker 镜像增长如此之快?
- node.js - 如何在代码执行期间多次发送响应而不在最后一个 res.write 发送所有响应
- docker - docker build 不断构建错误的架构
- java - 如何准确获取服务器发送的通知,使用 FCM(Android)
- python - scipy.optimize.solve 可以处理大规模非线性问题吗?