OpenApi 3.0任何

时间:2018-11-16 21:29:43

标签: openapi

我阅读了以前的帖子。寻找条纹OpenAPi3.0模型。这是一个小片段。 什么是应用程序类型?它是递归引用自己吗? x-expansionResources是供应商扩展。

public class IdentityHandler : SqlMapper.TypeHandler<MyEntityIdentity>
{
    public override MyEntityIdentity Parse(object value)
    {
        return new MyEntityIdentity((int)value);
    }

    public override void SetValue(IDbDataParameter parameter, MyEntityIdentity value)
    {
        parameter.Value = value.IdentityValue;
    }
}

2 个答案:

答案 0 :(得分:0)

查看测试数据后,他们要么发送id(字符串),要么发送一个类。 extensionResource告诉它一个类。在此示例中,只有一个。我不明白为什么该模型最初不只是使用oneOf?

答案 1 :(得分:0)

在此示例中,application属性的值可以是:

  • 最多5000个字符的字符串(“创建费用的Connect应用程序的ID”)
  • application模式的实例
  • null

用Stripe术语来说,applicationexpandable属性。可扩展属性可以包含关联对象的ID或完整对象。这就是他们的x-expansionResources扩展名所表示的。

从技术上讲,此示例中的anyOf可以替换为oneOf。子模式具有完全不同的类型(type: stringtype: object),因此anyOfoneOf都可以工作。 ({oneOf的意思是“完全匹配一个子模式”,anyOf的意思是“匹配一个或多个子模式”。)