Skip to main content

阿尔卑斯山-统一-ts

项目描述

NPM 版本 PyPI 版本 Maven 中心 .NET 版本 发布

阿尔卑斯山-统一-ts

那是alps-unified的增强型 TypeScript 库。有了它,您可以将 ALPS API 规范转换为其他 API 规范,例如 openApi、Graph QL Schema。

了解 ALPS API 的想法非常有用的是 YT 上的这段视频:https ://www.youtube.com/watch?v=oG6-r3UdenE

想了解更多关于 ALPS 的信息吗?--> 请访问:

特征

  • 为 JavaScript、TypeScript、Python、Java 和 .NET 生成和发布 alps 统一库
  • 对 ALPS 规范的类型支持(参见下面的“从规范创建”示例)

例子

从 YAML 文件加载

您可以直接从 YAML 文件加载 ALPS 规范。不支持 JSON ist atm。

转换为 OpenApi

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Alps.unified(Alps.load_yaml("test/todo-alps.yaml"),
    format_type=FormatType.OPENAPI
)

转换为 GraphQL Schema

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Alps.unified(Alps.load_yaml("test/todo-alps.yaml"),
    format_type=FormatType.SDL
)

从规范创建

从规范创建 API 规范非常强大。因为它在键入和记录时为您提供了像 VS 这样的想法的很多支持。所以你总是产生有效的 API 规范。

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
Alps.unified(
    Alps.spec(
        alps={
            "version": "1.0",
            "doc": {
                "value": "Simple Todo list example"
            },
            "ext": [{
                "type": "metadata",
                "name": "title",
                "value": "simpleTodo",
                "tags": "oas"
            }, {
                "type": "metadata",
                "name": "root",
                "value": "http://api.example.org/todo",
                "tags": "oas"
            }
            ],
            "descriptor": [{
                "id": "id",
                "type": "semantic",
                "text": "storage id of todo item"
            }
            ]
        }
    ))

为了让 Python 从这些类型中受益,最好这样做:

import alps_unified_ts as alps

alps_def = alps.AlpsDef(
    version='1.0',
    descriptor=[alps.DescriptorDef(id="id", type="semantic", text="sotrage id of todo item")],
    doc=alps.DocDef(
        value="Simple Todo list example"),
        ext=[
            alps.ExtDef(
                name="root",
                tags="oas",
                type="metadata",
                value="http://api.example.org/todo"),
            alps.ExtDef(
                name="title",
                tags="oas",
                type="metadata",
                value="simpleTodo")])

alps.Alps.unified(alps_document=alps.Alps.spec(alps=alps_def), format_type=alps.FormatType.OPENAPI)

谢谢

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

alps-unified-ts-0.0.40.tar.gz (209.6 kB 查看哈希

已上传 source

内置分布

alps_unified_ts-0.0.40-py3-none-any.whl (208.0 kB 查看哈希

已上传 py3