2017-11-14 13 views
1

모든 요청에 ​​적용 할 경로가없는 필터를 앞에 설정하려고합니다. 코 틀린 나는 쓰기 위해 노력하고있어 :before in Kotlin

before { req, resp -> 
    // check auth then redirect if not authorized... 
} 

컴파일러는 말한다 :

이 매개 변수 (REQ & RESP)에 대한 유형을 추론 할 수 없습니다.

경로없이 Kotlin의 필터를 어떻게 설정해야합니까?

+0

'before'의 정의 무엇입니까? – ice1000

답변

3

이 같은 모든 경로에 맞게 스파크의 경로 *를 사용할 수 있습니다

before("*", { req, res -> 
    logger.info("${req.requestMethod().toUpperCase()} ${req.fullUri()} by ${req.ip()} (${req.userAgent()})") 
}) 

// or: 

before("*") { req, res -> // ... 
+1

함수의 마지막 매개 변수가 람다 형식 인 경우 항상 두 번째 예제를 사용하십시오. – marstran

+0

@marstran 왜? Afaik 이것들은 문법상의 차이 일 뿐이며 각각은 동일한 바이트 코드를 낳습니다. 따라서 개발자의 선호도에 따라 달라집니다. – msrd0

+3

허용 된 코드 스타일이기 때문에 – voddan