add nullable body support to powershell (#6930)

This commit is contained in:
William Cheng 2020-07-15 00:19:13 +08:00 committed by GitHub
parent b86a51ae17
commit 9d76ca291e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 61 additions and 29 deletions

View File

@ -221,7 +221,8 @@ function {{{vendorExtensions.x-powershell-method-name}}} {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "{{#returnType}}{{{.}}}{{/returnType}}"
-ReturnType "{{#returnType}}{{{.}}}{{/returnType}}" `
-IsBodyNullable {{#bodyParam}}{{#isNullable}}$true{{/isNullable}}{{^isNullable}}$false{{/isNullable}}{{/bodyParam}}{{^bodyParam}}$false{{/bodyParam}}
{{#vendorExtensions.x-ps-return-type-one-of}}
# process oneOf response

View File

@ -26,7 +26,9 @@ function Invoke-{{{apiNamePrefix}}}ApiClient {
[string]$Method,
[Parameter(Mandatory)]
[AllowEmptyString()]
[string]$ReturnType
[string]$ReturnType,
[Parameter(Mandatory)]
[bool]$IsBodyNullable
)
'Calling method: Invoke-{{{apiNamePrefix}}}ApiClient' | Write-Debug
@ -85,8 +87,11 @@ function Invoke-{{{apiNamePrefix}}}ApiClient {
$RequestBody = $FormParameters
}
if ($Body) {
if ($Body -or $IsBodyNullable) {
$RequestBody = $Body
if ([string]::IsNullOrEmpty($RequestBody) -and $IsBodyNullable -eq $true) {
$RequestBody = "null"
}
}
{{#hasHttpSignatureMethods}}

View File

@ -27,13 +27,14 @@ $Id = 38369
) -Status Available
#Write-Host $pet
$Result = Add-PSPet -Pet $pet
#$Result = Add-PSPet -Pet $pet
$Result = Add-PSPet -Pet $null
Set-PSConfigurationApiKey -Id "api_key" -ApiKey "zzZZZZZZZZZZZZZ"
$Result2 = Get-PSPetById -petId ($Id) -Verbose -WithHttpInfo #-testHeader "testing only" -testQuery "testing something here"
Write-Host $Result2["Headers"]["Content-Type"]
$Result3 = Get-PSPetById -petId ($Id) -Verbose -WithHttpInfo -ReturnType "application/xml" #-testHeader "testing only" -testQuery "testing something here"
Write-Host $Result3["Headers"]["Content-Type"]
Write-Host $Result3["Response"]
#$Result3 = Get-PSPetById -petId ($Id) -Verbose -WithHttpInfo -ReturnType "application/xml" #-testHeader "testing only" -testQuery "testing something here"
#Write-Host $Result3["Headers"]["Content-Type"]
#Write-Host $Result3["Response"]
#} catch {
# Write-Host ("Exception occured when calling '': {0}" -f ($_.ErrorDetails | ConvertFrom-Json))
# Write-Host ("Response headers: {0}" -f ($_.Exception.Response.Headers | ConvertTo-Json))

View File

@ -85,7 +85,8 @@ function Add-PSPet {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "Pet"
-ReturnType "Pet" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -165,7 +166,8 @@ function Remove-Pet {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -252,7 +254,8 @@ function Find-PSPetsByStatus {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "Pet[]"
-ReturnType "Pet[]" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -338,7 +341,8 @@ function Find-PSPetsByTags {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "Pet[]"
-ReturnType "Pet[]" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -427,7 +431,8 @@ function Get-PSPetById {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "Pet"
-ReturnType "Pet" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -517,7 +522,8 @@ function Update-PSPet {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "Pet"
-ReturnType "Pet" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -610,7 +616,8 @@ function Update-PSPetWithForm {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -706,7 +713,8 @@ function Invoke-PSUploadFile {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "ApiResponse"
-ReturnType "ApiResponse" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult

View File

@ -64,7 +64,8 @@ function Remove-PSOrder {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -131,7 +132,8 @@ function Get-PSInventory {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "System.Collections.Hashtable"
-ReturnType "System.Collections.Hashtable" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -215,7 +217,8 @@ function Get-PSOrderById {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "Order"
-ReturnType "Order" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -304,7 +307,8 @@ function Invoke-PSPlaceOrder {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "Order"
-ReturnType "Order" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult

View File

@ -74,7 +74,8 @@ function New-PSUser {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -153,7 +154,8 @@ function New-PSUsersWithArrayInput {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -232,7 +234,8 @@ function New-PSUsersWithListInput {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -306,7 +309,8 @@ function Remove-PSUser {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -390,7 +394,8 @@ function Get-PSUserByName {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "User"
-ReturnType "User" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -486,7 +491,8 @@ function Invoke-PSLoginUser {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType "String"
-ReturnType "String" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -550,7 +556,8 @@ function Invoke-PSLogoutUser {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult
@ -639,7 +646,8 @@ function Update-PSUser {
-QueryParameters $LocalVarQueryParameters `
-FormParameters $LocalVarFormParameters `
-CookieParameters $LocalVarCookieParameters `
-ReturnType ""
-ReturnType "" `
-IsBodyNullable $false
if ($WithHttpInfo.IsPresent) {
return $LocalVarResult

View File

@ -32,7 +32,9 @@ function Invoke-PSApiClient {
[string]$Method,
[Parameter(Mandatory)]
[AllowEmptyString()]
[string]$ReturnType
[string]$ReturnType,
[Parameter(Mandatory)]
[bool]$IsBodyNullable
)
'Calling method: Invoke-PSApiClient' | Write-Debug
@ -91,8 +93,11 @@ function Invoke-PSApiClient {
$RequestBody = $FormParameters
}
if ($Body) {
if ($Body -or $IsBodyNullable) {
$RequestBody = $Body
if ([string]::IsNullOrEmpty($RequestBody) -and $IsBodyNullable -eq $true) {
$RequestBody = "null"
}
}
if ($SkipCertificateCheck -eq $true) {