forked from loafle/openapi-generator-original
[csharp-netcore] Better handling of oneOf/anyOf with duplicated data type (#15377)
* better handling of oneOf/anyOf with duplicated data type * update generichost template * remove newline in eof * bug fix (#15413) --------- Co-authored-by: devhl-labs <shawnkanyer@gmail.com>
This commit is contained in:
parent
76c05b2991
commit
7259d812bd
@ -43,7 +43,6 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
|packageVersion|C# package version.| |1.0.0|
|
|packageVersion|C# package version.| |1.0.0|
|
||||||
|releaseNote|Release note, default to 'Minor update'.| |Minor update|
|
|releaseNote|Release note, default to 'Minor update'.| |Minor update|
|
||||||
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|
|returnICollection|Return ICollection<T> instead of the concrete type.| |false|
|
||||||
|skipOneOfAnyOfGetter|Skip the generation of getter for sub-schemas in oneOf/anyOf models.| |false|
|
|
||||||
|sourceFolder|source folder for generated code| |src|
|
|sourceFolder|source folder for generated code| |src|
|
||||||
|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.1`|<dl><dt>**netstandard1.3**</dt><dd>.NET Standard 1.3 compatible</dd><dt>**netstandard1.4**</dt><dd>.NET Standard 1.4 compatible</dd><dt>**netstandard1.5**</dt><dd>.NET Standard 1.5 compatible</dd><dt>**netstandard1.6**</dt><dd>.NET Standard 1.6 compatible</dd><dt>**netstandard2.0**</dt><dd>.NET Standard 2.0 compatible</dd><dt>**netstandard2.1**</dt><dd>.NET Standard 2.1 compatible</dd><dt>**netcoreapp3.1**</dt><dd>.NET Core 3.1 compatible (End of Support 13 Dec 2022)</dd><dt>**net47**</dt><dd>.NET Framework 4.7 compatible</dd><dt>**net48**</dt><dd>.NET Framework 4.8 compatible</dd><dt>**net6.0**</dt><dd>.NET 6.0 compatible</dd><dt>**net7.0**</dt><dd>.NET 7.0 compatible</dd></dl>|netstandard2.0|
|
|targetFramework|The target .NET framework version. To target multiple frameworks, use `;` as the separator, e.g. `netstandard2.1;netcoreapp3.1`|<dl><dt>**netstandard1.3**</dt><dd>.NET Standard 1.3 compatible</dd><dt>**netstandard1.4**</dt><dd>.NET Standard 1.4 compatible</dd><dt>**netstandard1.5**</dt><dd>.NET Standard 1.5 compatible</dd><dt>**netstandard1.6**</dt><dd>.NET Standard 1.6 compatible</dd><dt>**netstandard2.0**</dt><dd>.NET Standard 2.0 compatible</dd><dt>**netstandard2.1**</dt><dd>.NET Standard 2.1 compatible</dd><dt>**netcoreapp3.1**</dt><dd>.NET Core 3.1 compatible (End of Support 13 Dec 2022)</dd><dt>**net47**</dt><dd>.NET Framework 4.7 compatible</dd><dt>**net48**</dt><dd>.NET Framework 4.8 compatible</dd><dt>**net6.0**</dt><dd>.NET 6.0 compatible</dd><dt>**net7.0**</dt><dd>.NET 7.0 compatible</dd></dl>|netstandard2.0|
|
||||||
|useCollection|Deserialize array types to Collection<T> instead of List<T>.| |false|
|
|useCollection|Deserialize array types to Collection<T> instead of List<T>.| |false|
|
||||||
|
@ -8035,11 +8035,20 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
List<CodegenProperty> xOf = new ArrayList<>();
|
List<CodegenProperty> xOf = new ArrayList<>();
|
||||||
|
Set<String> dataTypeSet = new HashSet<>(); // to keep track of dataType
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (Schema xOfSchema : xOfCollection) {
|
for (Schema xOfSchema : xOfCollection) {
|
||||||
CodegenProperty cp = fromProperty(collectionName + "_" + i, xOfSchema, false);
|
CodegenProperty cp = fromProperty(collectionName + "_" + i, xOfSchema, false);
|
||||||
xOf.add(cp);
|
xOf.add(cp);
|
||||||
i += 1;
|
i += 1;
|
||||||
|
|
||||||
|
if (dataTypeSet.contains(cp.dataType)) {
|
||||||
|
// add "x-duplicated-data-type" to indicate if the dataType already occurs before
|
||||||
|
// in other sub-schemas of allOf/anyOf/oneOf
|
||||||
|
cp.vendorExtensions.putIfAbsent("x-duplicated-data-type", true);
|
||||||
|
} else {
|
||||||
|
dataTypeSet.add(cp.dataType);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return xOf;
|
return xOf;
|
||||||
}
|
}
|
||||||
|
@ -117,10 +117,6 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen {
|
|||||||
protected boolean needsCustomHttpMethod = false;
|
protected boolean needsCustomHttpMethod = false;
|
||||||
protected boolean needsUriBuilder = false;
|
protected boolean needsUriBuilder = false;
|
||||||
|
|
||||||
// skip generation of getter for oneOf/anyOf sub-schemas to avoid duplicate getter
|
|
||||||
// when the subschemas are of the same type but with different constraints (e.g. array of string)
|
|
||||||
protected boolean skipOneOfAnyOfGetter = false;
|
|
||||||
|
|
||||||
public CSharpNetCoreClientCodegen() {
|
public CSharpNetCoreClientCodegen() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
@ -331,10 +327,6 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen {
|
|||||||
CodegenConstants.CASE_INSENSITIVE_RESPONSE_HEADERS_DESC,
|
CodegenConstants.CASE_INSENSITIVE_RESPONSE_HEADERS_DESC,
|
||||||
this.caseInsensitiveResponseHeaders);
|
this.caseInsensitiveResponseHeaders);
|
||||||
|
|
||||||
addSwitch(CodegenConstants.SKIP_ONEOF_ANYOF_GETTER,
|
|
||||||
CodegenConstants.SKIP_ONEOF_ANYOF_GETTER_DESC,
|
|
||||||
this.skipOneOfAnyOfGetter);
|
|
||||||
|
|
||||||
regexModifiers = new HashMap<>();
|
regexModifiers = new HashMap<>();
|
||||||
regexModifiers.put('i', "IgnoreCase");
|
regexModifiers.put('i', "IgnoreCase");
|
||||||
regexModifiers.put('m', "Multiline");
|
regexModifiers.put('m', "Multiline");
|
||||||
@ -806,7 +798,6 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen {
|
|||||||
syncBooleanProperty(additionalProperties, CodegenConstants.OPTIONAL_METHOD_ARGUMENT, this::setOptionalMethodArgumentFlag, optionalMethodArgumentFlag);
|
syncBooleanProperty(additionalProperties, CodegenConstants.OPTIONAL_METHOD_ARGUMENT, this::setOptionalMethodArgumentFlag, optionalMethodArgumentFlag);
|
||||||
syncBooleanProperty(additionalProperties, CodegenConstants.NON_PUBLIC_API, this::setNonPublicApi, isNonPublicApi());
|
syncBooleanProperty(additionalProperties, CodegenConstants.NON_PUBLIC_API, this::setNonPublicApi, isNonPublicApi());
|
||||||
syncBooleanProperty(additionalProperties, CodegenConstants.USE_ONEOF_DISCRIMINATOR_LOOKUP, this::setUseOneOfDiscriminatorLookup, this.useOneOfDiscriminatorLookup);
|
syncBooleanProperty(additionalProperties, CodegenConstants.USE_ONEOF_DISCRIMINATOR_LOOKUP, this::setUseOneOfDiscriminatorLookup, this.useOneOfDiscriminatorLookup);
|
||||||
syncBooleanProperty(additionalProperties, CodegenConstants.SKIP_ONEOF_ANYOF_GETTER, this::setSkipOneOfAnyOfGetter, this.skipOneOfAnyOfGetter);
|
|
||||||
syncBooleanProperty(additionalProperties, "supportsFileParameters", this::setSupportsFileParameters, this.supportsFileParameters);
|
syncBooleanProperty(additionalProperties, "supportsFileParameters", this::setSupportsFileParameters, this.supportsFileParameters);
|
||||||
|
|
||||||
final String testPackageName = testPackageName();
|
final String testPackageName = testPackageName();
|
||||||
@ -1187,14 +1178,6 @@ public class CSharpNetCoreClientCodegen extends AbstractCSharpCodegen {
|
|||||||
return this.useOneOfDiscriminatorLookup;
|
return this.useOneOfDiscriminatorLookup;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSkipOneOfAnyOfGetter(boolean skipOneOfAnyOfGetter) {
|
|
||||||
this.skipOneOfAnyOfGetter = skipOneOfAnyOfGetter;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean getSkipOneOfAnyOfGetter() {
|
|
||||||
return this.skipOneOfAnyOfGetter;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toEnumVarName(String value, String datatype) {
|
public String toEnumVarName(String value, String datatype) {
|
||||||
if (value.length() == 0) {
|
if (value.length() == 0) {
|
||||||
|
@ -37,14 +37,18 @@
|
|||||||
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
|
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
|
||||||
|
|
||||||
{{#composedSchemas.anyOf}}
|
{{#composedSchemas.anyOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
Utf8JsonReader {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader = utf8JsonReader;
|
Utf8JsonReader {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader = utf8JsonReader;
|
||||||
bool {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Deserialized = Client.ClientUtils.TryDeserialize<{{{dataType}}}>(ref {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader, jsonSerializerOptions, out {{{dataType}}}{{^isBoolean}}{{nrt?}}{{/isBoolean}} {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}});
|
bool {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Deserialized = Client.ClientUtils.TryDeserialize<{{{dataType}}}>(ref {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader, jsonSerializerOptions, out {{{dataType}}}{{^isBoolean}}{{nrt?}}{{/isBoolean}} {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}});
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.anyOf}}
|
{{/composedSchemas.anyOf}}
|
||||||
{{#composedSchemas.oneOf}}
|
{{#composedSchemas.oneOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
Utf8JsonReader {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader = utf8JsonReader;
|
Utf8JsonReader {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader = utf8JsonReader;
|
||||||
bool {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Deserialized = Client.ClientUtils.TryDeserialize<{{{dataType}}}>(ref {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader, jsonSerializerOptions, out {{{dataType}}}{{^isBoolean}}{{nrt?}}{{/isBoolean}} {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}});
|
bool {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Deserialized = Client.ClientUtils.TryDeserialize<{{{dataType}}}>(ref {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Reader, jsonSerializerOptions, out {{{dataType}}}{{^isBoolean}}{{nrt?}}{{/isBoolean}} {{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}});
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.oneOf}}
|
{{/composedSchemas.oneOf}}
|
||||||
{{#composedSchemas.allOf}}
|
{{#composedSchemas.allOf}}
|
||||||
{{^isInherited}}
|
{{^isInherited}}
|
||||||
@ -186,9 +190,11 @@
|
|||||||
{{/-last}}
|
{{/-last}}
|
||||||
{{/nonNullableVars}}
|
{{/nonNullableVars}}
|
||||||
{{#composedSchemas.oneOf}}
|
{{#composedSchemas.oneOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
if ({{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Deserialized)
|
if ({{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}Deserialized)
|
||||||
return new {{classname}}({{#lambda.joinWithComma}}{{#lambda.camelcase_param}}{{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}{{/lambda.camelcase_param}} {{#model.composedSchemas.allOf}}{{^isInherited}}{{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}{{/isInherited}}{{/model.composedSchemas.allOf}}{{#model.composedSchemas.anyOf}}{{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}} {{/model.composedSchemas.anyOf}}{{#allVars}}{{#lambda.camelcase_param}}{{name}}{{/lambda.camelcase_param}} {{/allVars}}{{/lambda.joinWithComma}});
|
return new {{classname}}({{#lambda.joinWithComma}}{{#lambda.camelcase_param}}{{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}{{/lambda.camelcase_param}} {{#model.composedSchemas.allOf}}{{^isInherited}}{{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}}{{/isInherited}}{{/model.composedSchemas.allOf}}{{#model.composedSchemas.anyOf}}{{#lambda.camelcase_param}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.camelcase_param}} {{/model.composedSchemas.anyOf}}{{#allVars}}{{#lambda.camelcase_param}}{{name}}{{/lambda.camelcase_param}} {{/allVars}}{{/lambda.joinWithComma}});
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{#-last}}
|
{{#-last}}
|
||||||
throw new JsonException();
|
throw new JsonException();
|
||||||
{{/-last}}
|
{{/-last}}
|
||||||
@ -207,8 +213,27 @@
|
|||||||
/// <exception cref="NotImplementedException"></exception>
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
public override void Write(Utf8JsonWriter writer, {{classname}} {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}, JsonSerializerOptions jsonSerializerOptions)
|
public override void Write(Utf8JsonWriter writer, {{classname}} {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}, JsonSerializerOptions jsonSerializerOptions)
|
||||||
{
|
{
|
||||||
|
{{#composedSchemas.anyOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
|
System.Text.Json.JsonSerializer.Serialize(writer, {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}}, jsonSerializerOptions);
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
|
{{/composedSchemas.anyOf}}
|
||||||
|
{{#composedSchemas.oneOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
|
System.Text.Json.JsonSerializer.Serialize(writer, {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}}, jsonSerializerOptions);
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
|
{{/composedSchemas.oneOf}}
|
||||||
|
{{#composedSchemas.allOf}}
|
||||||
|
{{^isInherited}}
|
||||||
|
System.Text.Json.JsonSerializer.Serialize(writer, {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}}, jsonSerializerOptions);
|
||||||
|
|
||||||
|
{{^composedSchemas}}
|
||||||
writer.WriteStartObject();
|
writer.WriteStartObject();
|
||||||
|
|
||||||
|
{{/isInherited}}
|
||||||
|
{{/composedSchemas.allOf}}
|
||||||
{{#allVars}}
|
{{#allVars}}
|
||||||
{{#isString}}
|
{{#isString}}
|
||||||
{{^isMap}}
|
{{^isMap}}
|
||||||
@ -322,5 +347,6 @@
|
|||||||
{{/allVars}}
|
{{/allVars}}
|
||||||
|
|
||||||
writer.WriteEndObject();
|
writer.WriteEndObject();
|
||||||
|
{{/composedSchemas}}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -4,6 +4,7 @@
|
|||||||
{{>visibility}} partial class {{classname}}{{#parent}} : {{{.}}}{{/parent}}{{>ImplementsIEquatable}}{{>ImplementsValidatable}}
|
{{>visibility}} partial class {{classname}}{{#parent}} : {{{.}}}{{/parent}}{{>ImplementsIEquatable}}{{>ImplementsValidatable}}
|
||||||
{
|
{
|
||||||
{{#composedSchemas.oneOf}}
|
{{#composedSchemas.oneOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="{{classname}}" /> class.
|
/// Initializes a new instance of the <see cref="{{classname}}" /> class.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -36,6 +37,7 @@
|
|||||||
{{/allVars}}
|
{{/allVars}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.oneOf}}
|
{{/composedSchemas.oneOf}}
|
||||||
{{^composedSchemas.oneOf}}
|
{{^composedSchemas.oneOf}}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -103,6 +105,7 @@
|
|||||||
{{/isEnum}}
|
{{/isEnum}}
|
||||||
{{/vars}}
|
{{/vars}}
|
||||||
{{#composedSchemas.anyOf}}
|
{{#composedSchemas.anyOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// {{description}}{{^description}}Gets or Sets {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}}{{/description}}
|
/// {{description}}{{^description}}Gets or Sets {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}}{{/description}}
|
||||||
/// </summary>{{#description}}
|
/// </summary>{{#description}}
|
||||||
@ -115,8 +118,10 @@
|
|||||||
{{/deprecated}}
|
{{/deprecated}}
|
||||||
public {{{dataType}}}{{nrt?}} {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}} { get; {{^isReadOnly}}set; {{/isReadOnly}}}
|
public {{{dataType}}}{{nrt?}} {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}} { get; {{^isReadOnly}}set; {{/isReadOnly}}}
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.anyOf}}
|
{{/composedSchemas.anyOf}}
|
||||||
{{#composedSchemas.oneOf}}
|
{{#composedSchemas.oneOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// {{description}}{{^description}}Gets or Sets {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}}{{/description}}
|
/// {{description}}{{^description}}Gets or Sets {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}}{{/description}}
|
||||||
/// </summary>{{#description}}
|
/// </summary>{{#description}}
|
||||||
@ -129,6 +134,7 @@
|
|||||||
{{/deprecated}}
|
{{/deprecated}}
|
||||||
public {{{dataType}}}{{nrt?}} {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}} { get; {{^isReadOnly}}set; {{/isReadOnly}}}
|
public {{{dataType}}}{{nrt?}} {{#lambda.titlecase}}{{baseType}}{{#isArray}}{{{dataFormat}}}{{/isArray}}{{/lambda.titlecase}} { get; {{^isReadOnly}}set; {{/isReadOnly}}}
|
||||||
|
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.oneOf}}
|
{{/composedSchemas.oneOf}}
|
||||||
{{#composedSchemas.allOf}}
|
{{#composedSchemas.allOf}}
|
||||||
{{^isInherited}}
|
{{^isInherited}}
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
{{/isNullable}}
|
{{/isNullable}}
|
||||||
{{#composedSchemas.anyOf}}
|
{{#composedSchemas.anyOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
{{^isNull}}
|
{{^isNull}}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="{{classname}}" /> class
|
/// Initializes a new instance of the <see cref="{{classname}}" /> class
|
||||||
@ -38,6 +39,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
{{/isNull}}
|
{{/isNull}}
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.anyOf}}
|
{{/composedSchemas.anyOf}}
|
||||||
|
|
||||||
private Object _actualInstance;
|
private Object _actualInstance;
|
||||||
@ -66,6 +68,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
{{#composedSchemas.anyOf}}
|
{{#composedSchemas.anyOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
{{^isNull}}
|
{{^isNull}}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -78,6 +81,7 @@
|
|||||||
return ({{{dataType}}})this.ActualInstance;
|
return ({{{dataType}}})this.ActualInstance;
|
||||||
}
|
}
|
||||||
{{/isNull}}
|
{{/isNull}}
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.anyOf}}
|
{{/composedSchemas.anyOf}}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
{{/isNullable}}
|
{{/isNullable}}
|
||||||
{{#composedSchemas.oneOf}}
|
{{#composedSchemas.oneOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
{{^isNull}}
|
{{^isNull}}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="{{classname}}" /> class
|
/// Initializes a new instance of the <see cref="{{classname}}" /> class
|
||||||
@ -38,6 +39,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
{{/isNull}}
|
{{/isNull}}
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.oneOf}}
|
{{/composedSchemas.oneOf}}
|
||||||
|
|
||||||
private Object _actualInstance;
|
private Object _actualInstance;
|
||||||
@ -65,8 +67,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{{^skipOneOfAnyOfGetter}}
|
|
||||||
{{#composedSchemas.oneOf}}
|
{{#composedSchemas.oneOf}}
|
||||||
|
{{^vendorExtensions.x-duplicated-data-type}}
|
||||||
{{^isNull}}
|
{{^isNull}}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -79,8 +81,8 @@
|
|||||||
return ({{{dataType}}})this.ActualInstance;
|
return ({{{dataType}}})this.ActualInstance;
|
||||||
}
|
}
|
||||||
{{/isNull}}
|
{{/isNull}}
|
||||||
|
{{/vendorExtensions.x-duplicated-data-type}}
|
||||||
{{/composedSchemas.oneOf}}
|
{{/composedSchemas.oneOf}}
|
||||||
{{/skipOneOfAnyOfGetter}}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns the string presentation of the object
|
/// Returns the string presentation of the object
|
||||||
|
@ -2273,3 +2273,9 @@ components:
|
|||||||
unescapedLiteralString:
|
unescapedLiteralString:
|
||||||
type: string
|
type: string
|
||||||
default: C:\Users\username
|
default: C:\Users\username
|
||||||
|
OneOfString:
|
||||||
|
oneOf:
|
||||||
|
- type: string
|
||||||
|
pattern: ^a
|
||||||
|
- type: string
|
||||||
|
pattern: ^b
|
||||||
|
@ -63,6 +63,7 @@ docs/NullableGuidClass.md
|
|||||||
docs/NullableShape.md
|
docs/NullableShape.md
|
||||||
docs/NumberOnly.md
|
docs/NumberOnly.md
|
||||||
docs/ObjectWithDeprecatedFields.md
|
docs/ObjectWithDeprecatedFields.md
|
||||||
|
docs/OneOfString.md
|
||||||
docs/Order.md
|
docs/Order.md
|
||||||
docs/OuterComposite.md
|
docs/OuterComposite.md
|
||||||
docs/OuterEnum.md
|
docs/OuterEnum.md
|
||||||
@ -180,6 +181,7 @@ src/Org.OpenAPITools/Model/NullableGuidClass.cs
|
|||||||
src/Org.OpenAPITools/Model/NullableShape.cs
|
src/Org.OpenAPITools/Model/NullableShape.cs
|
||||||
src/Org.OpenAPITools/Model/NumberOnly.cs
|
src/Org.OpenAPITools/Model/NumberOnly.cs
|
||||||
src/Org.OpenAPITools/Model/ObjectWithDeprecatedFields.cs
|
src/Org.OpenAPITools/Model/ObjectWithDeprecatedFields.cs
|
||||||
|
src/Org.OpenAPITools/Model/OneOfString.cs
|
||||||
src/Org.OpenAPITools/Model/Order.cs
|
src/Org.OpenAPITools/Model/Order.cs
|
||||||
src/Org.OpenAPITools/Model/OuterComposite.cs
|
src/Org.OpenAPITools/Model/OuterComposite.cs
|
||||||
src/Org.OpenAPITools/Model/OuterEnum.cs
|
src/Org.OpenAPITools/Model/OuterEnum.cs
|
||||||
|
@ -205,6 +205,7 @@ Class | Method | HTTP request | Description
|
|||||||
- [Model.NullableShape](docs/NullableShape.md)
|
- [Model.NullableShape](docs/NullableShape.md)
|
||||||
- [Model.NumberOnly](docs/NumberOnly.md)
|
- [Model.NumberOnly](docs/NumberOnly.md)
|
||||||
- [Model.ObjectWithDeprecatedFields](docs/ObjectWithDeprecatedFields.md)
|
- [Model.ObjectWithDeprecatedFields](docs/ObjectWithDeprecatedFields.md)
|
||||||
|
- [Model.OneOfString](docs/OneOfString.md)
|
||||||
- [Model.Order](docs/Order.md)
|
- [Model.Order](docs/Order.md)
|
||||||
- [Model.OuterComposite](docs/OuterComposite.md)
|
- [Model.OuterComposite](docs/OuterComposite.md)
|
||||||
- [Model.OuterEnum](docs/OuterEnum.md)
|
- [Model.OuterEnum](docs/OuterEnum.md)
|
||||||
|
@ -2200,6 +2200,12 @@ components:
|
|||||||
default: C:\Users\username
|
default: C:\Users\username
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
OneOfString:
|
||||||
|
oneOf:
|
||||||
|
- pattern: ^a
|
||||||
|
type: string
|
||||||
|
- pattern: ^b
|
||||||
|
type: string
|
||||||
_foo_get_default_response:
|
_foo_get_default_response:
|
||||||
example:
|
example:
|
||||||
string:
|
string:
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
# Org.OpenAPITools.Model.OneOfString
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* OpenAPI Petstore
|
||||||
|
*
|
||||||
|
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
*
|
||||||
|
* The version of the OpenAPI document: 1.0.0
|
||||||
|
* Generated by: https://github.com/openapitools/openapi-generator.git
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.IO;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Org.OpenAPITools.Model;
|
||||||
|
using Org.OpenAPITools.Client;
|
||||||
|
using System.Reflection;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace Org.OpenAPITools.Test.Model
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Class for testing OneOfString
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||||
|
/// Please update the test case below to test the model.
|
||||||
|
/// </remarks>
|
||||||
|
public class OneOfStringTests : IDisposable
|
||||||
|
{
|
||||||
|
// TODO uncomment below to declare an instance variable for OneOfString
|
||||||
|
//private OneOfString instance;
|
||||||
|
|
||||||
|
public OneOfStringTests()
|
||||||
|
{
|
||||||
|
// TODO uncomment below to create an instance of OneOfString
|
||||||
|
//instance = new OneOfString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
// Cleanup when everything is done.
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Test an instance of OneOfString
|
||||||
|
/// </summary>
|
||||||
|
[Fact]
|
||||||
|
public void OneOfStringInstanceTest()
|
||||||
|
{
|
||||||
|
// TODO uncomment below to test "IsType" OneOfString
|
||||||
|
//Assert.IsType<OneOfString>(instance);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,245 @@
|
|||||||
|
/*
|
||||||
|
* OpenAPI Petstore
|
||||||
|
*
|
||||||
|
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
*
|
||||||
|
* The version of the OpenAPI document: 1.0.0
|
||||||
|
* Generated by: https://github.com/openapitools/openapi-generator.git
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.IO;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Converters;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using OpenAPIDateConverter = Org.OpenAPITools.Client.OpenAPIDateConverter;
|
||||||
|
using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
namespace Org.OpenAPITools.Model
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// OneOfString
|
||||||
|
/// </summary>
|
||||||
|
[JsonConverter(typeof(OneOfStringJsonConverter))]
|
||||||
|
[DataContract(Name = "OneOfString")]
|
||||||
|
public partial class OneOfString : AbstractOpenAPISchema, IEquatable<OneOfString>, IValidatableObject
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="OneOfString" /> class
|
||||||
|
/// with the <see cref="string" /> class
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="actualInstance">An instance of string.</param>
|
||||||
|
public OneOfString(string actualInstance)
|
||||||
|
{
|
||||||
|
this.IsNullable = false;
|
||||||
|
this.SchemaType= "oneOf";
|
||||||
|
this.ActualInstance = actualInstance ?? throw new ArgumentException("Invalid instance found. Must not be null.");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Object _actualInstance;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or Sets ActualInstance
|
||||||
|
/// </summary>
|
||||||
|
public override Object ActualInstance
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return _actualInstance;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (value.GetType() == typeof(string))
|
||||||
|
{
|
||||||
|
this._actualInstance = value;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Invalid instance found. Must be the following types: string");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the actual instance of `string`. If the actual instance is not `string`,
|
||||||
|
/// the InvalidClassException will be thrown
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>An instance of string</returns>
|
||||||
|
public string GetString()
|
||||||
|
{
|
||||||
|
return (string)this.ActualInstance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the string presentation of the object
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>String presentation of the object</returns>
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
var sb = new StringBuilder();
|
||||||
|
sb.Append("class OneOfString {\n");
|
||||||
|
sb.Append(" ActualInstance: ").Append(this.ActualInstance).Append("\n");
|
||||||
|
sb.Append("}\n");
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the JSON string presentation of the object
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>JSON string presentation of the object</returns>
|
||||||
|
public override string ToJson()
|
||||||
|
{
|
||||||
|
return JsonConvert.SerializeObject(this.ActualInstance, OneOfString.SerializerSettings);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Converts the JSON string into an instance of OneOfString
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="jsonString">JSON string</param>
|
||||||
|
/// <returns>An instance of OneOfString</returns>
|
||||||
|
public static OneOfString FromJson(string jsonString)
|
||||||
|
{
|
||||||
|
OneOfString newOneOfString = null;
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(jsonString))
|
||||||
|
{
|
||||||
|
return newOneOfString;
|
||||||
|
}
|
||||||
|
int match = 0;
|
||||||
|
List<string> matchedTypes = new List<string>();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// if it does not contains "AdditionalProperties", use SerializerSettings to deserialize
|
||||||
|
if (typeof(string).GetProperty("AdditionalProperties") == null)
|
||||||
|
{
|
||||||
|
newOneOfString = new OneOfString(JsonConvert.DeserializeObject<string>(jsonString, OneOfString.SerializerSettings));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
newOneOfString = new OneOfString(JsonConvert.DeserializeObject<string>(jsonString, OneOfString.AdditionalPropertiesSerializerSettings));
|
||||||
|
}
|
||||||
|
matchedTypes.Add("string");
|
||||||
|
match++;
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
// deserialization failed, try the next one
|
||||||
|
System.Diagnostics.Debug.WriteLine(string.Format("Failed to deserialize `{0}` into string: {1}", jsonString, exception.ToString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (match == 0)
|
||||||
|
{
|
||||||
|
throw new InvalidDataException("The JSON string `" + jsonString + "` cannot be deserialized into any schema defined.");
|
||||||
|
}
|
||||||
|
else if (match > 1)
|
||||||
|
{
|
||||||
|
throw new InvalidDataException("The JSON string `" + jsonString + "` incorrectly matches more than one schema (should be exactly one match): " + matchedTypes);
|
||||||
|
}
|
||||||
|
|
||||||
|
// deserialization is considered successful at this point if no exception has been thrown.
|
||||||
|
return newOneOfString;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns true if objects are equal
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input">Object to be compared</param>
|
||||||
|
/// <returns>Boolean</returns>
|
||||||
|
public override bool Equals(object input)
|
||||||
|
{
|
||||||
|
return OpenAPIClientUtils.compareLogic.Compare(this, input as OneOfString).AreEqual;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns true if OneOfString instances are equal
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input">Instance of OneOfString to be compared</param>
|
||||||
|
/// <returns>Boolean</returns>
|
||||||
|
public bool Equals(OneOfString input)
|
||||||
|
{
|
||||||
|
return OpenAPIClientUtils.compareLogic.Compare(this, input).AreEqual;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the hash code
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Hash code</returns>
|
||||||
|
public override int GetHashCode()
|
||||||
|
{
|
||||||
|
unchecked // Overflow is fine, just wrap
|
||||||
|
{
|
||||||
|
int hashCode = 41;
|
||||||
|
if (this.ActualInstance != null)
|
||||||
|
hashCode = hashCode * 59 + this.ActualInstance.GetHashCode();
|
||||||
|
return hashCode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// To validate all properties of the instance
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="validationContext">Validation context</param>
|
||||||
|
/// <returns>Validation Result</returns>
|
||||||
|
IEnumerable<System.ComponentModel.DataAnnotations.ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
|
||||||
|
{
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Custom JSON converter for OneOfString
|
||||||
|
/// </summary>
|
||||||
|
public class OneOfStringJsonConverter : JsonConverter
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// To write the JSON string
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="writer">JSON writer</param>
|
||||||
|
/// <param name="value">Object to be converted into a JSON string</param>
|
||||||
|
/// <param name="serializer">JSON Serializer</param>
|
||||||
|
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||||
|
{
|
||||||
|
writer.WriteRawValue((string)(typeof(OneOfString).GetMethod("ToJson").Invoke(value, null)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// To convert a JSON string into an object
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="reader">JSON reader</param>
|
||||||
|
/// <param name="objectType">Object type</param>
|
||||||
|
/// <param name="existingValue">Existing value</param>
|
||||||
|
/// <param name="serializer">JSON Serializer</param>
|
||||||
|
/// <returns>The object converted from the JSON string</returns>
|
||||||
|
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||||
|
{
|
||||||
|
if(reader.TokenType != JsonToken.Null)
|
||||||
|
{
|
||||||
|
return OneOfString.FromJson(JObject.Load(reader).ToString(Formatting.None));
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Check if the object can be converted
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="objectType">Object type</param>
|
||||||
|
/// <returns>True if the object can be converted</returns>
|
||||||
|
public override bool CanConvert(Type objectType)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -66,6 +66,7 @@ docs/models/NullableGuidClass.md
|
|||||||
docs/models/NullableShape.md
|
docs/models/NullableShape.md
|
||||||
docs/models/NumberOnly.md
|
docs/models/NumberOnly.md
|
||||||
docs/models/ObjectWithDeprecatedFields.md
|
docs/models/ObjectWithDeprecatedFields.md
|
||||||
|
docs/models/OneOfString.md
|
||||||
docs/models/Order.md
|
docs/models/Order.md
|
||||||
docs/models/OuterComposite.md
|
docs/models/OuterComposite.md
|
||||||
docs/models/OuterEnum.md
|
docs/models/OuterEnum.md
|
||||||
@ -186,6 +187,7 @@ src/Org.OpenAPITools/Model/NullableGuidClass.cs
|
|||||||
src/Org.OpenAPITools/Model/NullableShape.cs
|
src/Org.OpenAPITools/Model/NullableShape.cs
|
||||||
src/Org.OpenAPITools/Model/NumberOnly.cs
|
src/Org.OpenAPITools/Model/NumberOnly.cs
|
||||||
src/Org.OpenAPITools/Model/ObjectWithDeprecatedFields.cs
|
src/Org.OpenAPITools/Model/ObjectWithDeprecatedFields.cs
|
||||||
|
src/Org.OpenAPITools/Model/OneOfString.cs
|
||||||
src/Org.OpenAPITools/Model/Order.cs
|
src/Org.OpenAPITools/Model/Order.cs
|
||||||
src/Org.OpenAPITools/Model/OuterComposite.cs
|
src/Org.OpenAPITools/Model/OuterComposite.cs
|
||||||
src/Org.OpenAPITools/Model/OuterEnum.cs
|
src/Org.OpenAPITools/Model/OuterEnum.cs
|
||||||
|
@ -2200,6 +2200,12 @@ components:
|
|||||||
default: C:\Users\username
|
default: C:\Users\username
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
OneOfString:
|
||||||
|
oneOf:
|
||||||
|
- pattern: ^a
|
||||||
|
type: string
|
||||||
|
- pattern: ^b
|
||||||
|
type: string
|
||||||
_foo_get_default_response:
|
_foo_get_default_response:
|
||||||
example:
|
example:
|
||||||
string:
|
string:
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
# Org.OpenAPITools.Model.OneOfString
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
|
||||||
|
[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md)
|
||||||
|
|
@ -0,0 +1,60 @@
|
|||||||
|
/*
|
||||||
|
* OpenAPI Petstore
|
||||||
|
*
|
||||||
|
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
*
|
||||||
|
* The version of the OpenAPI document: 1.0.0
|
||||||
|
* Generated by: https://github.com/openapitools/openapi-generator.git
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
using Xunit;
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.IO;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Org.OpenAPITools.Model;
|
||||||
|
using Org.OpenAPITools.Client;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
namespace Org.OpenAPITools.Test.Model
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Class for testing OneOfString
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// This file is automatically generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||||
|
/// Please update the test case below to test the model.
|
||||||
|
/// </remarks>
|
||||||
|
public class OneOfStringTests : IDisposable
|
||||||
|
{
|
||||||
|
// TODO uncomment below to declare an instance variable for OneOfString
|
||||||
|
//private OneOfString instance;
|
||||||
|
|
||||||
|
public OneOfStringTests()
|
||||||
|
{
|
||||||
|
// TODO uncomment below to create an instance of OneOfString
|
||||||
|
//instance = new OneOfString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Dispose()
|
||||||
|
{
|
||||||
|
// Cleanup when everything is done.
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Test an instance of OneOfString
|
||||||
|
/// </summary>
|
||||||
|
[Fact]
|
||||||
|
public void OneOfStringInstanceTest()
|
||||||
|
{
|
||||||
|
// TODO uncomment below to test "IsType" OneOfString
|
||||||
|
//Assert.IsType<OneOfString>(instance);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -104,6 +104,7 @@ namespace Org.OpenAPITools.Client
|
|||||||
_jsonOptions.Converters.Add(new NullableShapeJsonConverter());
|
_jsonOptions.Converters.Add(new NullableShapeJsonConverter());
|
||||||
_jsonOptions.Converters.Add(new NumberOnlyJsonConverter());
|
_jsonOptions.Converters.Add(new NumberOnlyJsonConverter());
|
||||||
_jsonOptions.Converters.Add(new ObjectWithDeprecatedFieldsJsonConverter());
|
_jsonOptions.Converters.Add(new ObjectWithDeprecatedFieldsJsonConverter());
|
||||||
|
_jsonOptions.Converters.Add(new OneOfStringJsonConverter());
|
||||||
_jsonOptions.Converters.Add(new OrderJsonConverter());
|
_jsonOptions.Converters.Add(new OrderJsonConverter());
|
||||||
_jsonOptions.Converters.Add(new OuterCompositeJsonConverter());
|
_jsonOptions.Converters.Add(new OuterCompositeJsonConverter());
|
||||||
_jsonOptions.Converters.Add(new OuterEnumConverter());
|
_jsonOptions.Converters.Add(new OuterEnumConverter());
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Activity
|
/// A Json converter for type Activity
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -86,6 +86,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ActivityOutputElementRepresentation
|
/// A Json converter for type ActivityOutputElementRepresentation
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -141,6 +141,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type AdditionalPropertiesClass
|
/// A Json converter for type AdditionalPropertiesClass
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -96,6 +96,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Animal
|
/// A Json converter for type Animal
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -95,6 +95,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ApiResponse
|
/// A Json converter for type ApiResponse
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -100,6 +100,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Apple
|
/// A Json converter for type Apple
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -79,6 +79,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type AppleReq
|
/// A Json converter for type AppleReq
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ArrayOfArrayOfNumberOnly
|
/// A Json converter for type ArrayOfArrayOfNumberOnly
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ArrayOfNumberOnly
|
/// A Json converter for type ArrayOfNumberOnly
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -95,6 +95,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ArrayTest
|
/// A Json converter for type ArrayTest
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Banana
|
/// A Json converter for type Banana
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -79,6 +79,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type BananaReq
|
/// A Json converter for type BananaReq
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type BasquePig
|
/// A Json converter for type BasquePig
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -123,6 +123,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Capitalization
|
/// A Json converter for type Capitalization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -68,6 +68,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Cat
|
/// A Json converter for type Cat
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type CatAllOf
|
/// A Json converter for type CatAllOf
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -86,6 +86,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Category
|
/// A Json converter for type Category
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -60,6 +60,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ChildCat
|
/// A Json converter for type ChildCat
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -125,6 +125,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ChildCatAllOf
|
/// A Json converter for type ChildCatAllOf
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ClassModel
|
/// A Json converter for type ClassModel
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -82,6 +82,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ComplexQuadrilateral
|
/// A Json converter for type ComplexQuadrilateral
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type DanishPig
|
/// A Json converter for type DanishPig
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -78,6 +78,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type DateOnlyClass
|
/// A Json converter for type DateOnlyClass
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type DeprecatedObject
|
/// A Json converter for type DeprecatedObject
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -61,6 +61,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Dog
|
/// A Json converter for type Dog
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type DogAllOf
|
/// A Json converter for type DogAllOf
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -98,6 +98,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Drawing
|
/// A Json converter for type Drawing
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -186,6 +186,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type EnumArrays
|
/// A Json converter for type EnumArrays
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -409,6 +409,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type EnumTest
|
/// A Json converter for type EnumTest
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -82,6 +82,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type EquilateralTriangle
|
/// A Json converter for type EquilateralTriangle
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -78,6 +78,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type File
|
/// A Json converter for type File
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -86,6 +86,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type FileSchemaTestClass
|
/// A Json converter for type FileSchemaTestClass
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Foo
|
/// A Json converter for type Foo
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type FooGetDefaultResponse
|
/// A Json converter for type FooGetDefaultResponse
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -357,6 +357,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type FormatTest
|
/// A Json converter for type FormatTest
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -94,6 +94,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Fruit
|
/// A Json converter for type Fruit
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -83,6 +83,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type FruitReq
|
/// A Json converter for type FruitReq
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -84,6 +84,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type GmFruit
|
/// A Json converter for type GmFruit
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -87,6 +87,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type GrandparentAnimal
|
/// A Json converter for type GrandparentAnimal
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -123,6 +123,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type HasOnlyReadOnly
|
/// A Json converter for type HasOnlyReadOnly
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type HealthCheckResult
|
/// A Json converter for type HealthCheckResult
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -75,6 +75,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type IsoscelesTriangle
|
/// A Json converter for type IsoscelesTriangle
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type List
|
/// A Json converter for type List
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -86,6 +86,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type LiteralStringClass
|
/// A Json converter for type LiteralStringClass
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -115,6 +115,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Mammal
|
/// A Json converter for type Mammal
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -154,6 +154,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type MapTest
|
/// A Json converter for type MapTest
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -111,6 +111,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type MixedPropertiesAndAdditionalPropertiesClass
|
/// A Json converter for type MixedPropertiesAndAdditionalPropertiesClass
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -86,6 +86,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Model200Response
|
/// A Json converter for type Model200Response
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ModelClient
|
/// A Json converter for type ModelClient
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -141,6 +141,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Name
|
/// A Json converter for type Name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -170,6 +170,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type NullableClass
|
/// A Json converter for type NullableClass
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -78,6 +78,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type NullableGuidClass
|
/// A Json converter for type NullableGuidClass
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -100,6 +100,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type NullableShape
|
/// A Json converter for type NullableShape
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type NumberOnly
|
/// A Json converter for type NumberOnly
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -107,6 +107,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ObjectWithDeprecatedFields
|
/// A Json converter for type ObjectWithDeprecatedFields
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -0,0 +1,147 @@
|
|||||||
|
// <auto-generated>
|
||||||
|
/*
|
||||||
|
* OpenAPI Petstore
|
||||||
|
*
|
||||||
|
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
*
|
||||||
|
* The version of the OpenAPI document: 1.0.0
|
||||||
|
* Generated by: https://github.com/openapitools/openapi-generator.git
|
||||||
|
*/
|
||||||
|
|
||||||
|
#nullable enable
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.IO;
|
||||||
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using OpenAPIClientUtils = Org.OpenAPITools.Client.ClientUtils;
|
||||||
|
|
||||||
|
namespace Org.OpenAPITools.Model
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// OneOfString
|
||||||
|
/// </summary>
|
||||||
|
public partial class OneOfString : IValidatableObject
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Initializes a new instance of the <see cref="OneOfString" /> class.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="_string"></param>
|
||||||
|
[JsonConstructor]
|
||||||
|
internal OneOfString(string _string)
|
||||||
|
{
|
||||||
|
String = _string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or Sets String
|
||||||
|
/// </summary>
|
||||||
|
public string? String { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or Sets additional properties
|
||||||
|
/// </summary>
|
||||||
|
[JsonExtensionData]
|
||||||
|
public Dictionary<string, JsonElement> AdditionalProperties { get; } = new Dictionary<string, JsonElement>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the string presentation of the object
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>String presentation of the object</returns>
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.Append("class OneOfString {\n");
|
||||||
|
sb.Append(" AdditionalProperties: ").Append(AdditionalProperties).Append("\n");
|
||||||
|
sb.Append("}\n");
|
||||||
|
return sb.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// To validate all properties of the instance
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="validationContext">Validation context</param>
|
||||||
|
/// <returns>Validation Result</returns>
|
||||||
|
IEnumerable<System.ComponentModel.DataAnnotations.ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
|
||||||
|
{
|
||||||
|
yield break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A Json converter for type OneOfString
|
||||||
|
/// </summary>
|
||||||
|
public class OneOfStringJsonConverter : JsonConverter<OneOfString>
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// A Json reader.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="utf8JsonReader"></param>
|
||||||
|
/// <param name="typeToConvert"></param>
|
||||||
|
/// <param name="jsonSerializerOptions"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// <exception cref="JsonException"></exception>
|
||||||
|
public override OneOfString Read(ref Utf8JsonReader utf8JsonReader, Type typeToConvert, JsonSerializerOptions jsonSerializerOptions)
|
||||||
|
{
|
||||||
|
int currentDepth = utf8JsonReader.CurrentDepth;
|
||||||
|
|
||||||
|
if (utf8JsonReader.TokenType != JsonTokenType.StartObject && utf8JsonReader.TokenType != JsonTokenType.StartArray)
|
||||||
|
throw new JsonException();
|
||||||
|
|
||||||
|
JsonTokenType startingTokenType = utf8JsonReader.TokenType;
|
||||||
|
|
||||||
|
Utf8JsonReader _stringReader = utf8JsonReader;
|
||||||
|
bool _stringDeserialized = Client.ClientUtils.TryDeserialize<string>(ref _stringReader, jsonSerializerOptions, out string? _string);
|
||||||
|
|
||||||
|
|
||||||
|
while (utf8JsonReader.Read())
|
||||||
|
{
|
||||||
|
if (startingTokenType == JsonTokenType.StartObject && utf8JsonReader.TokenType == JsonTokenType.EndObject && currentDepth == utf8JsonReader.CurrentDepth)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (startingTokenType == JsonTokenType.StartArray && utf8JsonReader.TokenType == JsonTokenType.EndArray && currentDepth == utf8JsonReader.CurrentDepth)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (utf8JsonReader.TokenType == JsonTokenType.PropertyName && currentDepth == utf8JsonReader.CurrentDepth - 1)
|
||||||
|
{
|
||||||
|
string? propertyName = utf8JsonReader.GetString();
|
||||||
|
utf8JsonReader.Read();
|
||||||
|
|
||||||
|
switch (propertyName)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_stringDeserialized)
|
||||||
|
return new OneOfString(_string);
|
||||||
|
|
||||||
|
throw new JsonException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A Json writer
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="writer"></param>
|
||||||
|
/// <param name="oneOfString"></param>
|
||||||
|
/// <param name="jsonSerializerOptions"></param>
|
||||||
|
/// <exception cref="NotImplementedException"></exception>
|
||||||
|
public override void Write(Utf8JsonWriter writer, OneOfString oneOfString, JsonSerializerOptions jsonSerializerOptions)
|
||||||
|
{
|
||||||
|
writer.WriteStartObject();
|
||||||
|
|
||||||
|
|
||||||
|
writer.WriteEndObject();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -186,6 +186,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Order
|
/// A Json converter for type Order
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -95,6 +95,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type OuterComposite
|
/// A Json converter for type OuterComposite
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -53,6 +53,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ParentPet
|
/// A Json converter for type ParentPet
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -186,6 +186,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Pet
|
/// A Json converter for type Pet
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -100,6 +100,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Pig
|
/// A Json converter for type Pig
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -120,6 +120,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type PolymorphicProperty
|
/// A Json converter for type PolymorphicProperty
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -100,6 +100,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Quadrilateral
|
/// A Json converter for type Quadrilateral
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type QuadrilateralInterface
|
/// A Json converter for type QuadrilateralInterface
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -122,6 +122,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ReadOnlyFirst
|
/// A Json converter for type ReadOnlyFirst
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Return
|
/// A Json converter for type Return
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -82,6 +82,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ScaleneTriangle
|
/// A Json converter for type ScaleneTriangle
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -111,6 +111,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Shape
|
/// A Json converter for type Shape
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ShapeInterface
|
/// A Json converter for type ShapeInterface
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -111,6 +111,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type ShapeOrNull
|
/// A Json converter for type ShapeOrNull
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -82,6 +82,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type SimpleQuadrilateral
|
/// A Json converter for type SimpleQuadrilateral
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -86,6 +86,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type SpecialModelName
|
/// A Json converter for type SpecialModelName
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -86,6 +86,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Tag
|
/// A Json converter for type Tag
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type TestCollectionEndingWithWordList
|
/// A Json converter for type TestCollectionEndingWithWordList
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type TestCollectionEndingWithWordListObject
|
/// A Json converter for type TestCollectionEndingWithWordListObject
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -141,6 +141,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Triangle
|
/// A Json converter for type Triangle
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -77,6 +77,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type TriangleInterface
|
/// A Json converter for type TriangleInterface
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -181,6 +181,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type User
|
/// A Json converter for type User
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -95,6 +95,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Whale
|
/// A Json converter for type Whale
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -148,6 +148,7 @@ namespace Org.OpenAPITools.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Json converter for type Zebra
|
/// A Json converter for type Zebra
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -66,6 +66,7 @@ docs/models/NullableGuidClass.md
|
|||||||
docs/models/NullableShape.md
|
docs/models/NullableShape.md
|
||||||
docs/models/NumberOnly.md
|
docs/models/NumberOnly.md
|
||||||
docs/models/ObjectWithDeprecatedFields.md
|
docs/models/ObjectWithDeprecatedFields.md
|
||||||
|
docs/models/OneOfString.md
|
||||||
docs/models/Order.md
|
docs/models/Order.md
|
||||||
docs/models/OuterComposite.md
|
docs/models/OuterComposite.md
|
||||||
docs/models/OuterEnum.md
|
docs/models/OuterEnum.md
|
||||||
@ -186,6 +187,7 @@ src/Org.OpenAPITools/Model/NullableGuidClass.cs
|
|||||||
src/Org.OpenAPITools/Model/NullableShape.cs
|
src/Org.OpenAPITools/Model/NullableShape.cs
|
||||||
src/Org.OpenAPITools/Model/NumberOnly.cs
|
src/Org.OpenAPITools/Model/NumberOnly.cs
|
||||||
src/Org.OpenAPITools/Model/ObjectWithDeprecatedFields.cs
|
src/Org.OpenAPITools/Model/ObjectWithDeprecatedFields.cs
|
||||||
|
src/Org.OpenAPITools/Model/OneOfString.cs
|
||||||
src/Org.OpenAPITools/Model/Order.cs
|
src/Org.OpenAPITools/Model/Order.cs
|
||||||
src/Org.OpenAPITools/Model/OuterComposite.cs
|
src/Org.OpenAPITools/Model/OuterComposite.cs
|
||||||
src/Org.OpenAPITools/Model/OuterEnum.cs
|
src/Org.OpenAPITools/Model/OuterEnum.cs
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user