swagger-codegen
swagger-codegen copied to clipboard
[PHP] Bug missing commas in key-value arrays of generated models and parameter of function calls
Description
The code generated contains arrays like $swaggerTypes as members of Model types but the arrays do not
seem to contain any commas to seperate different key value pairs
Swagger-codegen version
3.0.0-rc1
Swagger declaration file content or url
This is the schema for the User object in the first snippet
"User": {
"type": "object",
"description": "User",
"required": [
"firstName",
"email",
"userGroupId"
],
"properties": {
"email": {
"type": "string",
"description": "Email"
},
"firstName": {
"type": "string",
"description": "First name"
},
"lastName": {
"type": "string",
"description": "Last name",
"nullable": true
},
"userGroupId": {
"type": "string",
"format": "uuid",
"description": "User group id"
}
}
}
Command line used for generation
java --add-opens=java.base/java.util=ALL-UNNAMED -jar ./swagger-codegen-cli-3.0.0-rc1.jar generate -i http://localhost:8080/api-docs/openapi.json -l php
# I know it's not supposed to be localhost but it should not be related to the spec.
Steps to reproduce
- Run the above command
Related issues/PRs
Issue
It generates this invalid code for arrays in PHP:
/**
* Array of property to type mappings. Used for (de)serialization
*
* @var string[]
*/
protected static $swaggerTypes = [
'email' => 'string''first_name' => 'string''last_name' => 'string''user_group_id' => 'string'
];
/**
* Array of property to format mappings. Used for (de)serialization
*
* @var string[]
*/
protected static $swaggerFormats = [
'email' => null'first_name' => null'last_name' => null'user_group_id' => 'uuid'
];
The commas are missing between key-value pairs.
In some functions for API code, it calls the functions without commas.
public function getGroupsWithHttpInfo($user_id, $first = null, $max = null)
{
$returnType = '\Swagger\Client\Model\InlineResponse20020';
$request = $this->getGroupsRequest($user_id$first$max); // See the parameters in this line of code.