scala - 如何使用注释添加覆盖案例类字段?
问题描述
问题
如何case class
使用注释添加覆盖?类似于以下内容:
case class Foo (
bar: Int
)
new Foo {
@Annotation
override val bar: Int
}
在上面的代码中,我尝试创建一个匿名案例类,它使用 annotation覆盖bar
类的字段。编译返回“非法开始声明”。Foo
@Annotation
@Annotation
语境
我正在尝试创建一个招摇的文档服务,但不想用招摇的注释乱扔整个模型类。我想创建只在 swagger API 路径注释中使用的匿名案例类;这些匿名案例类将使用 swagger 注释覆盖原始模型类。
它被用作类似的东西:
new ApiImplicitParam(
name = "body",
dataTypeClass = classOf[DataType {
@ApiModelProperty
override val someEnum: SomeEnum
}],
required = true,
paramType = "body"
)
解决方案
您的代码无法编译,因为您
- 不要为构造函数提供参数
和
- 不要实施
bar
。
以下代码在 2.13 中编译
new Foo(???) {
@Annotation
override val bar: Int = ???
}
推荐阅读
- c++ - 在我的迭代器类中访问私有数据而不破坏封装的最佳方法是什么?
- javascript - 功能完成后 React JS 不渲染
- c# - Kinect V2 UWP 如何计算与用户的距离
- html - 为表中的 td 元素添加额外的格式(或)
- c# - Ef core 从两个外键创建索引
- c# - .net core razor 页面中的多个视图组件未正确绑定
- node.js - 没有无头 Chrome 的 HTML 到 PDF
- python - admin.py 文件中的 Django TabularInline 错误
- r - 删除数据矩阵中包含任何负值或 NA 的所有行
- javascript - 如何发出经过身份验证的 Cognito 请求