[Php] Exclude query params when they're not required (#12120)

* exclude query params when they are not required

* fix check on empty

* update samples

* fix

* add tests

* update test

* Fix style

I guess PHPCodeSniffer would find PSR12 violated but we use CS-Fixer
instead. Anyway, conditions should contain spaces between logical
operators for readability.

* Apply CS-Fixer changes to templates

* Refresh samples

* Add required param to docblock

Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
This commit is contained in:
Kuzma
2022-04-25 13:16:00 +03:00
committed by GitHub
parent 6f1fa4592b
commit 6b3abd9421
11 changed files with 157 additions and 99 deletions

View File

@@ -29,8 +29,8 @@ namespace OpenAPI\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;

View File

@@ -29,8 +29,8 @@ namespace OpenAPI\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;

View File

@@ -29,8 +29,8 @@ namespace OpenAPI\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;
@@ -549,7 +549,8 @@ class FakeApi
'query_1', // param base name
'string', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// header params
@@ -2546,7 +2547,8 @@ class FakeApi
'query', // param base name
'string', // openApiType
'form', // style
true // explode
true, // explode
true // required
) ?? []);
@@ -3506,7 +3508,8 @@ class FakeApi
'enum_query_string_array', // param base name
'array', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -3514,7 +3517,8 @@ class FakeApi
'enum_query_string', // param base name
'string', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -3522,7 +3526,8 @@ class FakeApi
'enum_query_integer', // param base name
'integer', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -3530,7 +3535,8 @@ class FakeApi
'enum_query_double', // param base name
'number', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -3538,7 +3544,8 @@ class FakeApi
'enum_query_model_array', // param base name
'array', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// header params
@@ -3838,7 +3845,8 @@ class FakeApi
'required_string_group', // param base name
'integer', // openApiType
'form', // style
true // explode
true, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -3846,7 +3854,8 @@ class FakeApi
'required_int64_group', // param base name
'integer', // openApiType
'form', // style
true // explode
true, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -3854,7 +3863,8 @@ class FakeApi
'string_group', // param base name
'integer', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -3862,7 +3872,8 @@ class FakeApi
'int64_group', // param base name
'integer', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// header params
@@ -4613,7 +4624,8 @@ class FakeApi
'pipe', // param base name
'array', // openApiType
'pipeDelimited', // style
false // explode
false, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -4621,7 +4633,8 @@ class FakeApi
'ioutil', // param base name
'array', // openApiType
'form', // style
false // explode
false, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -4629,7 +4642,8 @@ class FakeApi
'http', // param base name
'array', // openApiType
'spaceDelimited', // style
false // explode
false, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -4637,7 +4651,8 @@ class FakeApi
'url', // param base name
'array', // openApiType
'form', // style
false // explode
false, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -4645,7 +4660,8 @@ class FakeApi
'context', // param base name
'array', // openApiType
'form', // style
true // explode
true, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -4653,7 +4669,8 @@ class FakeApi
'language', // param base name
'object', // openApiType
'form', // style
true // explode
true, // explode
false // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -4661,7 +4678,8 @@ class FakeApi
'allowEmpty', // param base name
'string', // openApiType
'form', // style
true // explode
true, // explode
true // required
) ?? []);

View File

@@ -29,8 +29,8 @@ namespace OpenAPI\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;

View File

@@ -29,8 +29,8 @@ namespace OpenAPI\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;
@@ -825,7 +825,8 @@ class PetApi
'status', // param base name
'array', // openApiType
'form', // style
false // explode
false, // explode
true // required
) ?? []);
@@ -1115,7 +1116,8 @@ class PetApi
'tags', // param base name
'array', // openApiType
'form', // style
false // explode
false, // explode
true // required
) ?? []);

View File

@@ -29,8 +29,8 @@ namespace OpenAPI\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;

View File

@@ -29,8 +29,8 @@ namespace OpenAPI\Client\Api;
use GuzzleHttp\Client;
use GuzzleHttp\ClientInterface;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Exception\ConnectException;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\MultipartStream;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\RequestOptions;
@@ -1521,7 +1521,8 @@ class UserApi
'username', // param base name
'string', // openApiType
'form', // style
true // explode
true, // explode
true // required
) ?? []);
// query params
$queryParams = array_merge($queryParams, ObjectSerializer::toQueryValue(
@@ -1529,7 +1530,8 @@ class UserApi
'password', // param base name
'string', // openApiType
'form', // style
true // explode
true, // explode
true // required
) ?? []);