我现在对Scotty网络服务器存在问题 - rescue
不适用于不合理的参数 - 我仍然使用以下代码获得404:
post "/newsletter/create" ( do
(param "subscriber[email]") `rescue` (\msg -> text msg)
formContent <- param "subscriber[email]"
text $ "found! " ++ show formContent )
我可以看到,当我只使用params
时,我的数据就在那里,并使用&#34; subscriber[email]
&#34;编制索引。 [
逃脱了会有什么问题吗?对此的任何帮助都是巨大的。
答案 0 :(得分:3)
通过一些清理,我得到了它的工作:
{-# LANGUAGE OverloadedStrings #-}
import Web.Scotty
import qualified Data.Text.Lazy as TL
main = scotty 3000 $ do
post "/newsletter/create" $ do
formContent <- (param "subscriber[email]") `rescue` (\msg -> return msg)
text $ "found! " `TL.append` formContent
我进行了一些修改,但关键是rescue
被用作param
的包装,而不是改变任何内部状态,因此你不应该调用它两次。方括号不会给我带来任何麻烦。