如何使用 Scotty 在前端显示来自 HTTP GET 请求的响应?
How to display Response from an HTTP GET Request in front-end using Scotty?
我是第一次试用 Scotty,我似乎无法摆脱发出 GET 请求。响应返回类型
IO (Response bytestring-0.10.8.1:Data.ByteString.Lazy.Internal.ByteString)
我知道我需要将它转换为 Scotty 可以输出的类型,但我不知道该怎么做。
我的完整代码是:
{-# 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,但仍然出现类型错误。我想知道我应该如何准确地转换我的响应,以便我可以在前端显示它,就像我用 html.
显示我的初始 "Hello World" 一样
如果您只是想快速证明概念并且不担心错误的响应,您可以使用 responseBody
lens and send the lazy byte string to raw
而不是 html
:
main :: IO ()
main =
scotty 3000 $
Scotty.get "/" $ do
r <- liftIO $ Wreq.get "https://www.metaweather.com/api/location/search/?query=New%20York"
raw (r ^. responseBody)
我是第一次试用 Scotty,我似乎无法摆脱发出 GET 请求。响应返回类型
IO (Response bytestring-0.10.8.1:Data.ByteString.Lazy.Internal.ByteString)
我知道我需要将它转换为 Scotty 可以输出的类型,但我不知道该怎么做。
我的完整代码是:
{-# 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,但仍然出现类型错误。我想知道我应该如何准确地转换我的响应,以便我可以在前端显示它,就像我用 html.
显示我的初始 "Hello World" 一样如果您只是想快速证明概念并且不担心错误的响应,您可以使用 responseBody
lens and send the lazy byte string to raw
而不是 html
:
main :: IO ()
main =
scotty 3000 $
Scotty.get "/" $ do
r <- liftIO $ Wreq.get "https://www.metaweather.com/api/location/search/?query=New%20York"
raw (r ^. responseBody)