API模型定义

时间:2018-11-08 23:24:11

标签: api

通常,当我进行API调用时,我使用的是javascript(ajax)。 JSON不包含属性的值类型,因此所有内容都作为字符串传递。

由于我管理自己的API,因此我创建了可请求的模型,该模型将告诉您模型的定义。

例如,Id值类型为int,StartDate值类型为日期。

我使用属性类型来自动创建表单。

是否有关于如何执行此操作的标准?我的方法行得通,但如果本书已经存在,我宁愿按书进行。

2 个答案:

答案 0 :(得分:1)

OpenAPI是您可以遵循的标准。如果还使用Swagger,它将允许您生成可用于生成表单的JSON模式。

答案 1 :(得分:1)

困难的部分是打字是在编译时完成的,而JS是在浏览器中完成的。

您可以使用诸如graphQL之类的键入模型代理,该代理会提前为这些类型添加定义。然后可以使用打字稿和诸如apollo之类的工具动态地获取和实施这些定义。

如果您不想使用打字稿或graphql,则可以使用诸如猫鼬模式之类的东西,并在端点上公开该模式,然后让前端动态重建该模式,以在创建新对象时通过转换来检查类型。

个人ive通过编写我自己的表单架构来完成这种旧的方式,并通过解释fieldTypes严格在前端强制实施表单类型

lst = ['Hi', 'Hello', '4', '71.5', '', '71.5', '', '68.1', '', '69', '', '69.4', '', '69.4', '', '70.3', '73.3', '']

result = lst[:3] + [[float(e) for e in lst[3:] if e]]

print(result)

编辑: 发现了这个伟大的库,它基于graphQL模型导出类型化的接口。 https://github.com/avantcredit/gql2ts