2017-11-27 1 views
1

현재 변경 사항을 적용하지 않고 API를 리팩토링하려고합니다. host:port/foo/bar에서 host:port/bar으로 마이그레이션하고 Scalatra에서 단일 작업에서 여러 경로가 지원되는지 궁금해합니다. 나는 그것을 시도하고있다 :Scalatra 단일 작업에 대한 여러 경로

응답 코드가 0 인 끝점에서 빈 응답이 반환되므로 나는 의아해한다. 이것이 Scalatra에서 지원됩니까?

나는이 같은보고 싶은데 봄에 알고 https://stackoverflow.com/a/5517486/4682816을하지만 난 Scalatra

에 뭔가가 있는지 궁금

답변

2

Scalatra은 행동에 대해 여러 변압기를 지원하지만 모든 변압기가 일치하는 경우 호출에 작업을 의미합니다 . 이것은 라우팅에 조건을 추가하는 데 사용됩니다.

요청 경로가 "/foo/bar""/bar"과 일치 할 수 없으므로 작업이 호출되지 않습니다.

get("/foo/bar"){ 
    bar() 
} 

get("/bar"){ 
    bar() 
} 

private def bar() = { 
    Ok(200) 
} 

또는 정규 표현식을 사용할 수 있습니다 :

다음과 같이 대신 할 수 있습니다 내가 찾던하지만 내려다 보이는 정확히 무엇 정규식

get("^(/bar)|(/foo/bar)$".r){ 
    Ok(200) 
} 
+0

을, 감사합니다 – scigs

관련 문제