当前位置: 首页 > 知识库问答 >
问题:

在TypeScript中对非类型化数据强制执行类型

徐星阑
2023-03-14

我想知道在使用TypeScript时,是否有任何工具或技术用于对对象数据进行低级验证。一个例子是HTTP服务上的POST请求的JSON主体。通常,我为预期的数据创建了一个接口,然后将数据强制转换到该接口,但我知道这是肤浅的。

router.route('/supercres')
    .get((req, res, next) => {
        const typedBody = <SuperCresBody>req.body;
    })

interface SuperCresBody {
    name: string,
    yoyo: boolean,
}
  • 结合静态和运行时类型检查以提高开发效率

共有1个答案

端木兴国
2023-03-14

检查以下2个等效项目:

  • https://github.com/gcanti/io-ts
  • https://github.com/pelotom/runtypes

我使用最新的,它的工作完美无瑕,但前者看起来也很棒。

    null

您还可以轻松地从JSON数据生成类型:

http://json2ts.com/

 类似资料:
  • 在像C#这样的语言中,我可以声明一个列表列表,例如: 有没有类似的方法来在 TypeScript 中声明一个强类型数组数组?我尝试了以下方法,但都没有编译。

  • 我希望在Typescript对象中存储String->string的映射,并强制所有键映射到字符串。例如: 我有办法强制要求值必须是字符串(或任何类型..)吗?

  • 在尝试在其他地方发布的建议后,我发现自己无法运行使用非类型化 NPM 模块的打字稿项目。下面是一个最小示例和我尝试过的步骤。 对于这个最小的例子,我们将假设 没有现有的类型定义。因此,我们将忽略包 ,并尝试手动将其类型文件 添加到我们的项目中。 文件夹结构 < li >节点模块 < ul > < li>lodash < li>foo.ts 自定义 洛达什.d.ts 接下来是文件。 文件 文件直接从

  • 问题内容: 我们的REST API接收一些JSON对象输入,其中某些字段必须不为null。这些可以是String / Integer,甚至可以是其他一些类实例作为参考。 我们正在尝试寻找一种方法来强制这些字段不为null,而不是在API中进行null检查的正确方法。当前: 我们想要的是这样的: 我们尝试了3件事: 1)升级到杰克逊2.0.6并使用注释com.fasterxml.jackson.an

  • 我喜欢Spark数据集,因为它们在编译时会给我带来分析错误和语法错误,还允许我使用getter而不是硬编码的名称/数字。大多数计算都可以通过DataSet的高级API完成。例如,通过访问Dataset类型对象的执行agg、select、sum、avg、map、filter或groupBy操作要比使用RDD行的数据字段简单得多。 但是其中缺少join操作,我读到我可以像这样执行join操作 我使用的