【发布时间】:2020-09-08 09:33:02
【问题描述】:
我想在 scala-play 中创建一个简单的“新闻 api”,其中服务器存根是使用 openapi scala-play-server 生成器生成的。 (因此我使用这个https://drive.google.com/file/d/1Qez3JcdaBPNVq1BAWrgcS_sbyDrxAQKM/view?usp=sharing openapi 文件)
以下命令用于生成项目:
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
但是当我开始使用 sbt run 运行项目然后打开 localhost:9000 时,我收到了几个错误:
[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 -
(完整的堆栈跟踪请看这里https://drive.google.com/file/d/16bdEtOROIGPUIMJvabn3lR4UCnUO4j6V/view?usp=sharing)
似乎缺少很多问题,但我不知道如何解决这个问题,除了手动解决。 我使用 Windows 10 和 AdoptOpenJDK 版本“11.0.8”
【问题讨论】:
-
过去,OpenAPI 生成器让我失望了很多次,如果幸运的话,我不会认为它们的输出会开箱即用。
-
嗨 @MateuszKubuszok 我在将它用于 Spring Boot 应用程序时总是有很好的经验。但是如果您有兴趣,我找到了解决问题的方法:)
标签: windows scala playframework sbt openapi-generator