pydantic 生成 json-schema,导入yapi

python 去除allOf

def replace_anyof(data):
        if isinstance(data, dict):
            if "allOf" in data:
                data.update(data.pop("allOf")[0])
            for _, v in data.items():
                replace_anyof(v)
        elif isinstance(data, list):
            for v in data:
                replace_anyof(v)
        else:
            return
    
    schema_dict = CustomerModel.schema()
    replace_anyof(schema_dict)
    import json
    print(json.dumps(schema_dict,ensure_ascii=False))

node 去除ref引用

import $RefParser from "@apidevtools/json-schema-ref-parser";

var mySchema = 上个代码结果

try {
    await $RefParser.dereference(mySchema);
    // note - by default, mySchema is modified in place, and the returned value is a reference to the same object
    // console.log(mySchema);

    // if you want to avoid modifying the original schema, you can disable the `mutateInputSchema` option
    let clonedSchema = await $RefParser.dereference(mySchema, { mutateInputSchema: false });

    console.log(JSON.stringify(mySchema));
} catch (err) {
    console.error(err);
}

yapi导入json -> json-schema

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值