我正在尝试构建一个非常简单的应用程序,它将从api输出原始JSON对象.
所以我想要一个带有url参数的函数,理想情况下返回JSON字符串.
我有以下代码:
decode: String -> String
decode jsonString =
Decode.decodeString jsonString
apiResonse : String -> String
apiResonse url =
let
url = "https://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=cats"
request = Http.get Decode.decodeString url
in
Http.send NewRequest request
Run Code Online (Sandbox Code Playgroud)
但是我很难理解函数的解码器部分.如果有人能帮助我那会很棒.
如果您只想将HTTP响应作为字符串值,请使用Http.getString.您使用的示例Http.get假设结果是JSON并强制您将其解码为Elm值.
以下是随机cat生成器代码的修改示例,它只显示响应JSON的转储而不是cat图片:
getRandomGif : String -> Cmd Msg
getRandomGif topic =
let
url =
"https://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=" ++ topic
in
Http.send NewGif (Http.getString url)
Run Code Online (Sandbox Code Playgroud)