2017-10-10 49 views
2

我正在嘗試使用Elm發出發佈請求,並獲取我的服務器輸出的以下「不支持的介質類型」錯誤。如何爲Elm發佈請求指定正文媒體類型?

POST /users/1/badges 
    Request Body: M09991 
    Accept: */* 
    Status: 415 Unsupported Media Type 0.003431047s 

我(servant)服務器設置爲使用PlainText接收的身體,我不知道如果我指定此內容在榆樹正確輸入。我在Elm的發佈請求代碼如下。

postUserBadge : ServerConfig.AdminContext -> Int -> String -> Cmd Msg 
postUserBadge context userId licenseNumber = 
    Http.send PostUserBadge <| 
     postRequest context.baseContext 
        ("https://stackoverflow.com/users/" ++ toString userId ++ "/badges") 
        (Http.stringBody "text/plain" licenseNumber) 
        decodeUserBadge 

那裏我用Http.stringBody "text/plain"來指定請求主體的內容類型。字符串"text/plain"我從wikipedia's Media type page得到;我還沒有找到如何在Elm的文檔中指定媒體類型。

這是在此Elm發佈請求中指定純文本媒體類型的正確方法嗎?我的代碼中是否存在導致此Http 415錯誤的其他錯誤?

+1

「PlainText」上的servant文檔使用值「text/plain; charset = utf-8」作爲示例。你有沒有嘗試過,作爲MIME類型? –

+0

@ChadGilbert'text/plain; charset = utf-8'做到了。感謝您的評論! – mherzl

回答

2

PlainText的僕人文檔表明您應該發送text/plain;charset=utf-8作爲MIME類型而不是text/plain

相關問題