Open that-guy-iain opened 3 months ago
12404 is a circular reference, and while generating client code from swagger.io, I still end up with invalid enums.
Example definition as documented:
paths:
/products:
get:
parameters:
- in: query
name: color
required: true
schema:
$ref: '#/components/schemas/Color'
responses:
'200':
description: OK
components:
schemas:
Color:
type: string
enum:
- black
- white
- red
- green
- blue
Specific example of real use:
SponsoredProductsLocale:
type: string
enum:
- en_AE
- de_DE
- ar_EG
- es_ES
- fr_FR
- en_GB
- it_IT
- nl_NL
- pl_PL
- en_SA
- sv_SE
- tr_TR
- en_AU
- en_IN
- ja_JP
- en_SG
- pt_BR
- en_CA
- es_MX
- en_US
In PHP - as generated by editor.swagger.io produces an invalid enum type of:
public static function getAllowableEnumValues()
{
return [
self::EN_AE
self::DE_DE
self::AR_EG
self::ES_ES
self::FR_FR
self::EN_GB
self::IT_IT
self::NL_NL
self::PL_PL
self::EN_SA
self::SV_SE
self::TR_TR
self::EN_AU
self::EN_IN
self::JA_JP
self::EN_SG
self::PT_BR
self::EN_CA
self::ES_MX
self::EN_US
];
}
The proper output in PHP must be:
public static function getAllowableEnumValues()
{
return [
self::EN_AE,
self::DE_DE,
self::AR_EG,
self::ES_ES,
self::FR_FR,
self::EN_GB,
self::IT_IT,
self::NL_NL,
self::PL_PL,
self::EN_SA,
self::SV_SE,
self::TR_TR,
self::EN_AU,
self::EN_IN,
self::JA_JP,
self::EN_SG,
self::PT_BR,
self::EN_CA,
self::ES_MX,
self::EN_US,
];
}
Description
Enums returns invalid code
Swagger-codegen version
Swagger-codegen-v3 docker:latest
Swagger declaration file content or url
Command line used for generation
Related issues/PRs
This appears to be related https://github.com/swagger-api/swagger-codegen/issues/12404