swagger-api/swagger-codegen

[FINCH] no enum support

オープン

#4,863 opened on 2017/02/27

 (4 件のコメント) (0 件のリアクション) (0 人の担当者)HTML (5,474 件のフォーク)batch import
Enhancement: FeatureFeature: EnumServer: Scalahelp wanted

Repository metrics

Stars
 (12,701 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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.

コントリビューターガイド