#node.js
Вопрос:
Я пишу API, и я хочу проверить наличие необходимых параметров в теле СООБЩЕНИЯ. Также могут быть дополнительные параметры. Например:
// user_create.ts
type User = {
name: string;
age?: number;
}
В экспресс POST /User/create
-реализации я хочу проверить, содержит ли тело не более (т. Е. Будет выдана ошибка для свойства, которого нет в определении):
// POST body
{
User: {
name: "John"
age: 40
}
}
API будет делиться этими определениями с интерфейсным кодом.
Мой вопрос в том, есть ли способ для узла проанализировать это определение типа во время выполнения, чтобы мне не приходилось вручную проверять наличие всех обязательных полей и предотвращать поля, которые не должны быть частью тела.
Что-то вроде:
// api.ts (pseudocode)
router.post('/user/create', (res, req) => {
const typescriptDefs = parseTypescript('user_create.ts');
if(!req.body.matches(typescriptDefs)) {
res.send('Invalid fields');
}
});