我目前正在開發(fā)一個 Scala 應(yīng)用程序,它利用 Spring-Boot 和 Swagger 來發(fā)送和接收 REST 調(diào)用。Swagger 和 Spring-Boot 是純 Java 項目,與 Scala 的兼容性有限,但我似乎找到了解決該問題的方法。由于 Spring-Boot 和 Swagger 將請求作為 Java 對象處理(需要 setter 和 getter 才能工作),因此我必須將請求視為 Java 對象并將請求轉(zhuǎn)換為稍后的請求。這是我所做的非常簡化的版本:case class ParamsAsJava(includeMovies: java.lang.Boolean = java.lang.Boolean.FALSE, includeTvShows: java.lang.Boolean = java.lang.Boolean.FALSE) { def toScala(): Params = { Params( includeMovies = convertToScala(includeMovies), includeTvShows = convertToScala(includeTvShows) ) } private def convertToScala(test: java.lang.Boolean): Boolean = if (test == null) false else test.booleanValue}case class Params(includeMovies: Boolean = false, includeTvShows: Boolean = false)object Application extends App { val test1 = ParamsAsJava(java.lang.Boolean.FALSE, java.lang.Boolean.TRUE).toScala val test2 = ParamsAsJava(java.lang.Boolean.TRUE, java.lang.Boolean.TRUE).toScala val test3 = ParamsAsJava().toScala val test4 = ParamsAsJava(null, null).toScala val test5 = ParamsAsJava(null, java.lang.Boolean.TRUE).toScala println(s"Test 1 = $test1") println(s"Test 2 = $test2") println(s"Test 3 = $test3") println(s"Test 4 = $test4") println(s"Test 5 = $test5")}輸出測試 1 = 參數(shù)(假,真)測試 2 = 參數(shù)(真,真)測試 3 = 參數(shù)(假,假)測試 4 = 參數(shù)(假,假)測試 5 = 參數(shù)(假,真)好的...我的問題是:有沒有更簡單易讀的方法來實現(xiàn)這一目標(biāo)?我每次都必須調(diào)用 ParamsAsJava.toScala 還是有一些很棒的 Scala 方法可以做到這一點?
添加回答
舉報
0/150
提交
取消