2013-05-25 1 views
7

내 yesod 경로에서 검색어와 같은 방식으로 검색어를 지정하려고합니다.Yesod 라우트에서 쿼리 매개 변수를 지정할 수 있습니까?

mkYesod "HelloWorld" [parseRoutes| 
/HomeR GET 
/first/?count=#Int FirstR GET 
/second/?count=#Int SecondR GET 
|] 

그러나 이것은 나에게 다음과 같은 오류 제공 :

The function `FirstR' is applied to one argument, 
but its type `Route HelloYesod' has none 

을하지만 #Int 그 뒤로 경로의 일부가되는에 밀어 경우, 모든 괜찮습니다. 경로가 매개 변수로 생성되지 않았기 때문에 이것이라고 가정합니다.

내 경로에서 매개 변수를 지정하는 방법이 있습니까?

+2

REST가 아닙니다! (그리고 Yesod가 REST 임) : D 단순히 "/ first/count/# Int"가 아닌가? :) – josejuan

답변

10

아니요, 현재 설정으로는 불가능합니다.하지만 과거에는 제작 한 것으로 간주했습니다. 내가하지 못했던 주된 이유는 (1) 정상적인 경우를 성취하기가 어렵게 만들 것이고, (2) 조셉이 언급했듯이 (종종 그렇지는 않지만) 경로 기반 매개 변수로 변환하는 것이 가능합니다.

+1

응답을 보내 주셔서 감사합니다. URI로 다시 돌려 보내 주시면 문제가되지 않습니다. 나는 호기심이 많았습니다 (그리고 토끼 구멍을 걷는 중이었습니다). – Khanzor

관련 문제