Как захватить несколько параметров / сегментов URL?
Учитывая URL-адрес, как http://test.com/abc/xyz/1/2/3
Как я могу получить все сегменты URL после abc/
поэтому полученное значение будет ["xyz","1","2","3]
?
1 ответ
Решение
На случай, если кто-нибудь натолкнется на это в будущем, мне удалось решить это:
processParams :: String -> Request -> Maybe [Param]
processParams s x = do
case (params', isPrefix) of
(_:paramsxs, True) -> return $ fmap (flip (,) $ "") paramsxs
_ -> Nothing
where
isPrefix = s `isPrefixOf` (convertString path) :: Bool
path = rawPathInfo x
params' = fmap convertString $ decodePathSegments path
И используя function
функция:
get (function $ processParams "/comparePackage") $ comparePackageHandler