2013-05-25 35 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

這不是休息! (並且Yesod是REST):D爲什麼不簡單地「/ first/count /#Int」? :) – josejuan

回答

10

不,目前的設置是不可能的,儘管這是我以前考慮過的一個補充。我沒有這樣做的主要原因是(1)它可能會使正常情況有點難以實現,(2)正如josejuan所提到的,通常(儘管不總是)可以將其轉換爲基於路線的參數。

+1

感謝您的迴應,對我來說這不是一個問題,我把它們推回到URI中,我只是好奇(並沿着兔子洞走下去)。 – Khanzor

相關問題