1
자바에서 Spark 프레임 워크를 사용하고있었습니다. 이제 스칼라를 사용하고 싶습니다.Scala와 SparkJava, 람다 식 사용법
스칼라에서 간단한 경로를 정의하는 방법을 찾는 데 어려움을 겪고 있습니다. 당신이 스칼라 2.12.x를 사용하는 경우
get('/article/:date', (req, res) -> {
return "";
});
자바에서 Spark 프레임 워크를 사용하고있었습니다. 이제 스칼라를 사용하고 싶습니다.Scala와 SparkJava, 람다 식 사용법
스칼라에서 간단한 경로를 정의하는 방법을 찾는 데 어려움을 겪고 있습니다. 당신이 스칼라 2.12.x를 사용하는 경우
get('/article/:date', (req, res) -> {
return "";
});
하는 스칼라 함수는 SAM은 Java 함수로 직접 변환 할 시도 할 것이다, 그래서이 작품 : 자바에서
나는 이런 식으로 할 거라고
object Example {
def main(args: Array[String]): Unit = {
get("/article/:date", (req, res) => "")
}
}
그렇지 않으면, 당신은 명시 적으로 Route
에 handle
메소드를 구현해야합니다 :
import spark.Spark.get
import spark.{Request, Response, Route}
object Example {
def main(args: Array[String]): Unit = {
get("/article/:date", new Route {
override def handle(request: Request, response: Response) = ""
})
}
}
또는 가능성은 Route
에 호환 기능을 일부 implicits을 제공
object Example {
implicit def func2ToRoute[T <: AnyRef](f: (Request, Response) => T): Route = new Route {
override def handle(request: Request, response: Response) = f(request, response)
}
def main(args: Array[String]): Unit = {
get("/article/:date", (req: Request, res: Response) => "")
}
}
나는 첫 번째 옵션을 시도하고있다. 모든 좋은 컴파일하고 내 스칼라 IDE (스칼라 웹 사이트에서 일식을 기반으로 한) 오류 : "누락 된 매개 변수 형식"에서 (req, res) – ProNOOB
나는 매개 변수 형식을 추가하기로 결정한 것을 제외하고는 여전히 컴파일 및 (x $ 1 : String, x $ 2 : spark.Route) 단위는 (String, (spark.Request, spark.Response) ⇒ String)' – ProNOOB
@ProNOOB I '에 적용 할 수 없습니다. Eclipse에 익숙하지 않습니다. 이것은 IntelliJ로 잘 컴파일됩니다. –