2015-12-10 31 views
2

检索字符串我试图做一个GET请求来检索字符串榆树 - 通过GET请求

当我使用

retrieve : Task.Task Http.Error String 
retrieve = getString "http://api.endpoint.com" 

一切工作正常。

在另一方面,如果我用

retrieve : Task.Task Http.Error String 
retrieve = get Json.Decode.string "http://api.endpoint.com" 

http请求得到执行,但链接的任务不会被执行。

我的问题是:上述两种方法有什么区别?我在做第二个错误的事吗?如何调试它?

回答

4

getString将获取请求的响应作为String返回。 get采取JSON解码器并通过获取请求的响应运行。因此,如果您提供Json.Decode.string,则预计响应中会包含Json编码的字符串。所以它期望在响应中增加双引号。

如果您的http请求失败,调试的最佳方式是查看您得到的错误类型。在这种情况下,您可能会得到UnexpectedPayload,因为请求成功,但解码器失败。