windows - Scala Play openapi 生成器项目缺少导入
问题描述
我想在 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-generator 版本 (4.yz) 中的一个错误。我在github上打开了一个问题:
https://github.com/OpenAPITools/openapi-generator/issues/7371
和wing328(核心团队和OpenAPI Generator的创始成员)建议使用openapi-generator的5.0.0-beta2。这解决了所有导入和依赖问题。
推荐阅读
- javascript - 未捕获的 ReferenceError:未在 HTMLButtonElement.onclick 中定义
- python - Q: Kivy 类名无效
- python - PySerial.write(val=raw_input()) 和 PySerial.write(string) 之间的 Python 区别?
- javascript - 单击复选框检查值
- python-3.x - 获取成员列表的 Python 错误
- sql - 循环遍历结果集
- ios - 展开可选值
- angular - Angular完全销毁动态创建的组件
- ios - IOS/Objective-C:在 Objective-C 中可能没有处理程序的 NSTimer?
- python - 将 Django 连接到 Postgres:django.db.utils.OperationalError:致命:数据库“DATABASENAME”不存在