我阅读了以前的帖子。寻找条纹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;
}
}
答案 0 :(得分:0)
查看测试数据后,他们要么发送id(字符串),要么发送一个类。 extensionResource告诉它一个类。在此示例中,只有一个。我不明白为什么该模型最初不只是使用oneOf?
答案 1 :(得分:0)
在此示例中,application
属性的值可以是:
application
模式的实例null
用Stripe术语来说,application
是expandable属性。可扩展属性可以包含关联对象的ID或完整对象。这就是他们的x-expansionResources
扩展名所表示的。
从技术上讲,此示例中的anyOf
可以替换为oneOf
。子模式具有完全不同的类型(type: string
和type: object
),因此anyOf
和oneOf
都可以工作。 ({oneOf
的意思是“完全匹配一个子模式”,anyOf
的意思是“匹配一个或多个子模式”。)