我正在使用喷雾路由,它使用符号作为参数非常优雅。但是我正在处理一些遗留代码并且需要使用 java 枚举。有没有一些优雅的方法可以将 scala 符号转换为 java 枚举?
所以所需的代码如下所示:
post {
parameters(('adId.as[String], 'propertyType.as[TypNe])).as(Import) { imp:Import =>
complete {
adImporterService ! imp
StatusCodes.Accepted
}
}
其中 TypNem 是 java 枚举, Import 是一个 scala 案例类。代替
post {
parameters(('adId.as[String], 'propertyType.as[String])) { (aId,pType) =>
complete {
adImporterService ! Import(aId,TypNe.valueOf(pType.toUpperCase()))
StatusCodes.Accepted
}
}
}