【发布时间】:2019-12-06 15:41:40
【问题描述】:
我有一个具有灵活端点的 Node JS Express API。该端点将从请求正文接收 JSON,并且它应该知道它所属的匹配对象。
例如 1:
POST /api
{
"id": 1,
"username": "felipe"
}
上面的json应该是User对象。
例如 2:
POST /api
{
"price": 15.5,
"description": "Product description"
}
上面的json应该是Product对象。
如何动态知道我从请求中收到的对象类型?是否有任何类型的 os 架构或其他我可以使用的概念?
【问题讨论】:
-
您必须在 JSON 正文中显式编码所需的对象类型。 JSON 本质上没有“类型”特性。
-
我能想到的唯一方法是基于收到的密钥。如果键
description存在,它是一个产品,如果username存在,它是一个用户...... -
最好尝试使用 typescript 并为您的 json 对象管理接口 (typescriptlang.org/docs/handbook/interfaces.html)[https://…
-
你可以试试
try {JSON.parse(yourResponse)}catch(e){}。如果它解析,确定属性是否匹配。我认为这是恕我直言的解决方法。但它解决了你的问题,我猜
标签: javascript node.js express ecmascript-6