node.js - 告诉我如何安全地使用类型为“any”类型的请求正文
问题描述
在Next.js API Routes中,请求主体的类型是“any”。
所以,下面的代码不能得到编译错误。
interface Human {
name: string
age: number
etc...
}
const requestBody: any = {name: "alien"}
/* i want to get compile error here. */
const human: Human = requestBody
console.log(human) /* {name: "alien"} */
您如何安全地使用请求正文类型?
我的想法是
const valid = ['name', 'age', ...etc].map(key => key in requestBody).reduce((acc, cur) => acc && cur)
if (!valid) return {status: 400}
但我认为这不好。
我想定义这样的功能。
const parse = <T>(item: any): T | undefined => {...}
const human: Human | undefined = parse<Human>(requestBody)
请教我定义这个函数“解析”的想法。
解决方案
推荐阅读
- go - 将 S3 上的镶木地板转换为字符串
- python - 导入 librosa 给出“没有名为 numba.decorators 的模块”,如何解决?
- python - 使用 python 中的请求模块从 URL 下载 zip 文件
- python - 为 SIR 模型实现 scipy.integrate.RK45
- python - def 函数中的空列表(列表索引超出范围)
- c# - 无法注册程序集 System.ArgumentNullException:值不能为空 - Visual Studio for Mac 出现问题
- ios - AVCaptureDevice 默认音频设备为 nil,尽管有麦克风权限
- python-3.x - 字典列表 Python3
- postgresql - 错误:引用表的给定键没有唯一约束匹配。PG12
- python - Google Doomsday Fuel 未通过隐藏测试用例