swagger-api/swagger-codegen

[FINCH] no enum support

Open

#4.863 aberto em 27 de fev. de 2017

Ver no GitHub
 (4 comments) (0 reactions) (0 assignees)HTML (5.474 forks)batch import
Enhancement: FeatureFeature: EnumServer: Scalahelp wanted

Métricas do repositório

Stars
 (12.701 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

Description

The Finch code generator does not support enums. An inline enum generates a normal variable of the desired type; a referenced enum generates an empty case class.

Swagger-codegen version

2.2.2-SNAPSHOT

Swagger declaration file content or url
      resultCode:
        type: string
        enum: [
          "OK",
          "EXCEPTION",
          "BAD_REQUEST"
        ]
Suggest a Fix

As far as I know there is no single best implementation choice for enumerations in scala. Possible choices are:

  • scala enumeration class (no warning for non-exhaustive match, type erasure issues)
  • sealed case objects (no easy way of iterating through values, no default serialization / deserialization) The serialization issue might not be a problem if circe supports it; still, scala enumerations might be easier to implement.

Guia do colaborador