[C#] Fixed valuetype parameters and discriminator deserialization (#5680)

* Fixed valuetype parameters and discriminator deserialization

- Made non-required valuetypes nullable, and flagged required valuetypes as "x-csharp-value-type"
- Made sure to camelCase discriminator property names in Subtype converter

* Ran pet store sample script

* Ensure that readWriteVars and readOnlyVars are also marked as isEnum and isPrimitiveType where appropriate

* Updated petstore sample with enum fix

* Fields that are required should emit default values (otherwise the consuming API might throw a fit

* Added missing sample updated

* Re-ran petstore example script to grab all changes

* Rebased and re-ran example update script

* update csharp samples

Co-authored-by: William Cheng <wing328hk@gmail.com>
This commit is contained in:
Geoff Brown
2020-04-29 09:36:27 -04:00
committed by GitHub
parent a8885e838a
commit bc097cfdde
65 changed files with 550 additions and 545 deletions

View File

@@ -97,7 +97,7 @@ No authorization required
## FakeOuterBooleanSerialize
> bool FakeOuterBooleanSerialize (bool body = null)
> bool FakeOuterBooleanSerialize (bool? body = null)
@@ -120,7 +120,7 @@ namespace Example
{
Configuration.Default.BasePath = "http://petstore.swagger.io:80/v2";
var apiInstance = new FakeApi(Configuration.Default);
var body = true; // bool | Input boolean as post body (optional)
var body = true; // bool? | Input boolean as post body (optional)
try
{
@@ -143,7 +143,7 @@ namespace Example
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **bool**| Input boolean as post body | [optional]
**body** | **bool?**| Input boolean as post body | [optional]
### Return type
@@ -245,7 +245,7 @@ No authorization required
## FakeOuterNumberSerialize
> decimal FakeOuterNumberSerialize (decimal body = null)
> decimal FakeOuterNumberSerialize (decimal? body = null)
@@ -268,7 +268,7 @@ namespace Example
{
Configuration.Default.BasePath = "http://petstore.swagger.io:80/v2";
var apiInstance = new FakeApi(Configuration.Default);
var body = 8.14; // decimal | Input number as post body (optional)
var body = 8.14; // decimal? | Input number as post body (optional)
try
{
@@ -291,7 +291,7 @@ namespace Example
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **decimal**| Input number as post body | [optional]
**body** | **decimal?**| Input number as post body | [optional]
### Return type
@@ -614,7 +614,7 @@ No authorization required
## TestEndpointParameters
> void TestEndpointParameters (decimal number, double _double, string patternWithoutDelimiter, byte[] _byte, int integer = null, int int32 = null, long int64 = null, float _float = null, string _string = null, System.IO.Stream binary = null, DateTime date = null, DateTime dateTime = null, string password = null, string callback = null)
> void TestEndpointParameters (decimal number, double _double, string patternWithoutDelimiter, byte[] _byte, int? integer = null, int? int32 = null, long? int64 = null, float? _float = null, string _string = null, System.IO.Stream binary = null, DateTime? date = null, DateTime? dateTime = null, string password = null, string callback = null)
Fake endpoint for testing various parameters 假端點 偽のエンドポイント 가짜 엔드 포인트
@@ -645,14 +645,14 @@ namespace Example
var _double = 1.2D; // double | None
var patternWithoutDelimiter = patternWithoutDelimiter_example; // string | None
var _byte = BYTE_ARRAY_DATA_HERE; // byte[] | None
var integer = 56; // int | None (optional)
var int32 = 56; // int | None (optional)
var int64 = 789; // long | None (optional)
var _float = 3.4F; // float | None (optional)
var integer = 56; // int? | None (optional)
var int32 = 56; // int? | None (optional)
var int64 = 789; // long? | None (optional)
var _float = 3.4F; // float? | None (optional)
var _string = _string_example; // string | None (optional)
var binary = BINARY_DATA_HERE; // System.IO.Stream | None (optional)
var date = 2013-10-20; // DateTime | None (optional)
var dateTime = 2013-10-20T19:20:30+01:00; // DateTime | None (optional)
var date = 2013-10-20; // DateTime? | None (optional)
var dateTime = 2013-10-20T19:20:30+01:00; // DateTime? | None (optional)
var password = password_example; // string | None (optional)
var callback = callback_example; // string | None (optional)
@@ -681,14 +681,14 @@ Name | Type | Description | Notes
**_double** | **double**| None |
**patternWithoutDelimiter** | **string**| None |
**_byte** | **byte[]**| None |
**integer** | **int**| None | [optional]
**int32** | **int**| None | [optional]
**int64** | **long**| None | [optional]
**_float** | **float**| None | [optional]
**integer** | **int?**| None | [optional]
**int32** | **int?**| None | [optional]
**int64** | **long?**| None | [optional]
**_float** | **float?**| None | [optional]
**_string** | **string**| None | [optional]
**binary** | **System.IO.Stream**| None | [optional]
**date** | **DateTime**| None | [optional]
**dateTime** | **DateTime**| None | [optional]
**date** | **DateTime?**| None | [optional]
**dateTime** | **DateTime?**| None | [optional]
**password** | **string**| None | [optional]
**callback** | **string**| None | [optional]
@@ -719,7 +719,7 @@ void (empty response body)
## TestEnumParameters
> void TestEnumParameters (List<string> enumHeaderStringArray = null, string enumHeaderString = null, List<string> enumQueryStringArray = null, string enumQueryString = null, int enumQueryInteger = null, double enumQueryDouble = null, List<string> enumFormStringArray = null, string enumFormString = null)
> void TestEnumParameters (List<string> enumHeaderStringArray = null, string enumHeaderString = null, List<string> enumQueryStringArray = null, string enumQueryString = null, int? enumQueryInteger = null, double? enumQueryDouble = null, List<string> enumFormStringArray = null, string enumFormString = null)
To test enum parameters
@@ -746,8 +746,8 @@ namespace Example
var enumHeaderString = enumHeaderString_example; // string | Header parameter enum test (string) (optional) (default to -efg)
var enumQueryStringArray = enumQueryStringArray_example; // List<string> | Query parameter enum test (string array) (optional)
var enumQueryString = enumQueryString_example; // string | Query parameter enum test (string) (optional) (default to -efg)
var enumQueryInteger = 56; // int | Query parameter enum test (double) (optional)
var enumQueryDouble = 1.2D; // double | Query parameter enum test (double) (optional)
var enumQueryInteger = 56; // int? | Query parameter enum test (double) (optional)
var enumQueryDouble = 1.2D; // double? | Query parameter enum test (double) (optional)
var enumFormStringArray = new List<string>(); // List<string> | Form parameter enum test (string array) (optional) (default to $)
var enumFormString = enumFormString_example; // string | Form parameter enum test (string) (optional) (default to -efg)
@@ -776,8 +776,8 @@ Name | Type | Description | Notes
**enumHeaderString** | **string**| Header parameter enum test (string) | [optional] [default to -efg]
**enumQueryStringArray** | **List&lt;string&gt;**| Query parameter enum test (string array) | [optional]
**enumQueryString** | **string**| Query parameter enum test (string) | [optional] [default to -efg]
**enumQueryInteger** | **int**| Query parameter enum test (double) | [optional]
**enumQueryDouble** | **double**| Query parameter enum test (double) | [optional]
**enumQueryInteger** | **int?**| Query parameter enum test (double) | [optional]
**enumQueryDouble** | **double?**| Query parameter enum test (double) | [optional]
**enumFormStringArray** | [**List&lt;string&gt;**](string.md)| Form parameter enum test (string array) | [optional] [default to $]
**enumFormString** | **string**| Form parameter enum test (string) | [optional] [default to -efg]
@@ -808,7 +808,7 @@ No authorization required
## TestGroupParameters
> void TestGroupParameters (int requiredStringGroup, bool requiredBooleanGroup, long requiredInt64Group, int stringGroup = null, bool booleanGroup = null, long int64Group = null)
> void TestGroupParameters (int requiredStringGroup, bool requiredBooleanGroup, long requiredInt64Group, int? stringGroup = null, bool? booleanGroup = null, long? int64Group = null)
Fake endpoint to test group parameters (optional)
@@ -834,9 +834,9 @@ namespace Example
var requiredStringGroup = 56; // int | Required String in group parameters
var requiredBooleanGroup = true; // bool | Required Boolean in group parameters
var requiredInt64Group = 789; // long | Required Integer in group parameters
var stringGroup = 56; // int | String in group parameters (optional)
var booleanGroup = true; // bool | Boolean in group parameters (optional)
var int64Group = 789; // long | Integer in group parameters (optional)
var stringGroup = 56; // int? | String in group parameters (optional)
var booleanGroup = true; // bool? | Boolean in group parameters (optional)
var int64Group = 789; // long? | Integer in group parameters (optional)
try
{
@@ -862,9 +862,9 @@ Name | Type | Description | Notes
**requiredStringGroup** | **int**| Required String in group parameters |
**requiredBooleanGroup** | **bool**| Required Boolean in group parameters |
**requiredInt64Group** | **long**| Required Integer in group parameters |
**stringGroup** | **int**| String in group parameters | [optional]
**booleanGroup** | **bool**| Boolean in group parameters | [optional]
**int64Group** | **long**| Integer in group parameters | [optional]
**stringGroup** | **int?**| String in group parameters | [optional]
**booleanGroup** | **bool?**| Boolean in group parameters | [optional]
**int64Group** | **long?**| Integer in group parameters | [optional]
### Return type