Я использую Network.Wreq, Control.Lens, Data.AesonИсключение: JSONError "тип содержимого ответа " приложение/random.v4 + JSON "" #Haskell
getInfo = do
let opts = defaults && header "Accept" .~ ["application/random.v4+json"] "Content-Type" .~ ["application/json"]
resp <- asJSON =<< getWith opts "url" :: IO (Response (Map String Value))
let respBody = resp ^. responseBody
return respBody
реакция имеет Content-Type → application/random.v4+json
, когда я вызываю функцию он бросает исключение, говоря
Exception: JSONError "content type of response is \"application/random.v4+json\""
Но когда я делаю вызов к API, чей ответ имеет простой Content-Type → application/json
вместо того, чтобы немного фантазии Content-Type → application/random.v4+json
моя функция работает все ожидалось. Когда ответ contenty-type
изменится на что-либо другое, чем application/json
, он выдает мне вышеуказанную ошибку.
Почему это бросает исключение? Как заставить его работать для всех версий моего API?
** Примечание. Обе версии API возвращают данные того же типа.