2017-10-10 88 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

相关问题