如何为Elm post请求指定正文媒体类型?

时间:2017-10-10 23:45:09

标签: haskell elm servant

我正在尝试使用Elm发布帖子请求并获取以下“不支持的媒体类型”'我的服务器输出错误。

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

我的servant)服务器设置为使用PlainText来接收正文,我想知道我是否在Elm中正确指定了这种内容类型。我在Elm的帖子请求代码如下。

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

我使用Http.stringBody "text/plain"来指定请求正文的内容类型。我从wikipedia's Media type page获得的字符串"text/plain";我还没有找到如何在Elm的文档中指定媒体类型。

这是在此Elm帖子请求中指定明文媒体类型的正确方法吗?我的代码中是否还有其他错误导致此Http 415错误?

1 个答案:

答案 0 :(得分:2)

PlainText的服务方文档表明您应该将text/plain;charset=utf-8作为MIME类型而不是text/plain发送。