Search code examples
windowsscalaplayframeworksbtopenapi-generator

Scala Play openapi generator project has missing imports


I want to create a simple "news api" in scala-play where the server stub is generated with the openapi scala-play-server generator. (Therefore i use this https://drive.google.com/file/d/1Qez3JcdaBPNVq1BAWrgcS_sbyDrxAQKM/view?usp=sharing openapi file)

The following command is used to generate the project:

openapi-generator generate -g scala-play-server --additional-properties=basePackage=de.hwrBerlin.lehre.effort.newsapi,apiPackage=de.hwrBerlin.lehre.effort.newsapi.generated.api,modelPackage=de.hwrBerlin.lehre.effort.newsapi.generated.model -o api -i openapi.yaml

But when i start to run the project with sbt run and then open localhost:9000 i get several errors:

[info] Compiling 14 Scala sources and 2 Java sources to D:\Programmieren\Effort\newsapi\api\target\scala-2.12\classes ...
[error] D:\Programmieren\Effort\newsapi\api\app\de\hwrBerlin\lehre\effort\newsapi\ErrorHandler.scala:3:28: not found: type DefaultHttpErrorHandler
[error] class ErrorHandler extends DefaultHttpErrorHandler {
[error]                            ^
[error] D:\Programmieren\Effort\newsapi\api\app\de\hwrBerlin\lehre\effort\newsapi\ErrorHandler.scala:5:47: not found: type Future
[error]                                e: Throwable): Future[Result] = e match {

...

[error] D:\Programmieren\Effort\newsapi\api\app\de\hwrBerlin\lehre\effort\newsapi\generated\model\News.scala:21:54: not found: value Json
[error]     implicit lazy val newsJsonFormat: Format[News] = Json.format[News]
[error]                                                      ^
[error] 49 errors found
[error] (Compile / compileIncremental) Compilation failed
[error] application -

(for full stack trace look here https://drive.google.com/file/d/16bdEtOROIGPUIMJvabn3lR4UCnUO4j6V/view?usp=sharing)

It seems like a many issues are missing but i have no idea how to fix the issue except doing it manually. I use windows 10 and the AdoptOpenJDK version "11.0.8"


Solution

  • This issue is a bug in the current openapi-generator version (4.y.z). I opened an issue on github:

    https://github.com/OpenAPITools/openapi-generator/issues/7371

    and wing328(Core team and founding member of OpenAPI Generator) suggested using the 5.0.0-beta2 of the openapi-generator. This fixed all import and dependency issues.