2013-07-08 2 views
0

스프레이의 기능을 이해하기위한 간단한 API를 작성하려고하는데 실제 매개 변수를 실제 유형에 매핑하여 막혔습니다. 나는 컴파일에 실패 다음 코드를 가지고 있지만 스프레이 자신의 문서에 설명 된대로 나는 그것을 사용하고 있습니다 :매핑 스프레이 매개 변수

val myRoute = 
    pathPrefix("people") { 
     path("nearby") { 
     parameters('lat as[Double], 'lng as[Double]).as(Location) { location => 
      complete { 
      locationWorker ! location 
      } 
     } 
     } 
    } 

I 나타나는 오류는

[오류] /.../MyService.scala : 47 : ')'예상했지만 '['가 발견되었습니다.
[오류] 매개 변수 ('같은 위도 [더블]'LNG 등 [더블]). 같은 (인근) {위도 =>

내가 쉽게 할 수 있도록뿐만 아니라 내가 스칼라 다소 새로운 오전 언급 할 가치가 아주 간단한 잘못을 저지르고.

+1

도트로 사용하려고하면 'lat.as [Double]' – 4lex1v

답변

1

저는 Scala/Akka 등을 처음 접했고 이번 주 초에 매개 변수 매핑 문제에 머물 렀습니다. 나는 내가하고있는 것을 공유 할 것이고, 아마도 올바른 길로 인도 할 수있을 것입니다. 스칼라가 왜 그 심볼을 질식시키는 지 알 수는 없지만, 어떤면에서는 도움이되기를 바랍니다.

get { parameters('filter, 'sort ?, 'skip ?, 'take ?).as(Search) { model => complete { (account ? UserSearchReq(model)).mapTo[SearchResult[User]] } } } ~ 

그리고 내 검색 모델은 다음과 같습니다 :

내 GET 지시어는 다음과 같습니다 당신이 볼 수 있듯이, 필터가 필요

case class Search(filter: String, sort: Option[String], skip: Option[Int], take: Option[Int]) 

하지만, 나머지 매개 변수는 선택 사항입니다. 형식을 지정하지 않았지만 모든 것이 올바르게 작동합니다.

행운을 빈다.

관련 문제