2017-10-10 8 views
2

J'essaie de faire une demande de publication en utilisant Elm et obtenir l'erreur suivante 'Type de support non pris en charge' par mon serveur.Comment spécifier le type de support de corps pour la demande de publication Elm?

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

serveur Mon (servant) est configuré pour utiliser PlainText pour recevoir le corps et je me demande si je spécifier le type ce contenu correctement dans Elm. Le code de ma demande de publication à Elm est le suivant.

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 

Là, j'utiliser Http.stringBody "text/plain" pour spécifier le type de contenu du corps de la demande. La chaîne "text/plain" j'ai obtenu de wikipedia's Media type page; Je n'ai pas trouvé comment spécifier le type de support dans la documentation d'Elm.

Est-ce la bonne façon de spécifier le type de support en texte brut dans cette demande de publication Elm? Y at-il une autre erreur dans mon code provoquant cette erreur Http 415?

+1

Les docs serviteurs sur 'PlainText' utilisent la valeur' text/plain; charset = utf-8' comme exemple. Avez-vous essayé cela comme le type MIME? –

+0

@ChadGilbert 'text/plain; jeu de caractères = utf-8' l'a fait. Merci pour le commentaire! – mherzl

Répondre

2

La documentation de l'agent pour PlainText indique que vous devez envoyer text/plain;charset=utf-8 en tant que type MIME au lieu de text/plain.