0
我第一次尝试使用Scotty,我似乎无法让我的GET请求过去。返回的响应类型如何使用Scotty在前端显示来自HTTP GET请求的响应?
IO (Response bytestring-0.10.8.1:Data.ByteString.Lazy.Internal.ByteString)
我知道我需要将其转换为一个类型,可以是由斯科蒂输出,但我无法弄清楚如何做到这一点。
我完整的代码:
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Lens
import Control.Monad.IO.Class
import Data.Aeson (FromJSON, ToJSON, Value, decode,
encode)
import Data.Map as Map
import GHC.Generics
import Lib
import Network.Wreq as Wreq
import Web.Scotty as Scotty
main :: IO()
main =
scotty 3000 $
Scotty.get "/" $ do
-- html "Hello World!"
Wreq.get"https://www.metaweather.com/api/location/search/?query=New%20York"
我尝试使用LiftIO但仍然给了我一个类型错误。我想知道我应该如何转换我的Response,以便我可以在前端显示它,就像使用html显示我的初始“Hello World”一样。
非常感谢您的回复。 但是我仍然得到这个代码的错误。 我编辑了第二行,包括LiftIO以使其正确运行。 r < - liftIO $ Wreq.get“https://www.metaweather.com/api/location/search/?query=New%20York” –
有什么快速简便的方法将ByteString转换为文本? (这是我需要使用HTML而不是原始的) –
Woops!我忘了'liftIO'。谢谢,我已经更新了答案 –