Erreur lors de l'envoi de json dans le POST de l'API web service

Je suis de la création d'un service web à l'aide de l'API Web. J'ai mis en place une classe simple

public class ActivityResult
{
    public String code;
    public int indexValue;
    public int primaryCodeReference;
}

Et puis j'ai mis en œuvre à l'intérieur de mon contrôleur

[HttpPost]
public HttpResponseMessage Post(ActivityResult ar)
{
    return new HttpResponseMessage(HttpStatusCode.OK);
}

Mais quand j'ai appeler l'API de passage en POST le fichier json:

{"code":"XXX-542","indexValue":"3","primaryCodeReference":"7"}

- Je obtenir le message d'erreur suivant:

{
    "Message": "The request entity's media type 'text/plain' is not supported for this resource.",
    "ExceptionMessage": "No MediaTypeFormatter is available to read an object of type 'ActivityResult' from content with media type 'text/plain'.",
    "ExceptionType": "System.Net.Http.UnsupportedMediaTypeException",
    "StackTrace": "   in System.Net.Http.HttpContentExtensions.ReadAsAsync[T](HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n   in System.Net.Http.HttpContentExtensions.ReadAsAsync(HttpContent content, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)\r\n   in System.Web.Http.ModelBinding.FormatterParameterBinding.ReadContentAsync(HttpRequestMessage request, Type type, IEnumerable`1 formatters, IFormatterLogger formatterLogger, CancellationToken cancellationToken)"
}

Ce que je fais mal?

  • Vous devez ajouter un en-tête de "application/json" pour la charge utile, pour être acceptées par le client.
  • J'ai bien placé les en-têtes dans ma requête HTTP. Cependant, le problème semble être côté serveur: dropbox.com/s/xlidnnybs8v6d0u/Cattura.JPG
  • On dirait que vous êtes seulement la Accept en-tête de application/json. Vous devez également définir la Content-Type en-tête de application/json.
InformationsquelleAutor GVillani82 | 2014-03-13