Error sending json in POST to web API service
.net, asp.net, asp.net-web-api, c#, json
Solution
In the HTTP request you need to set Content-Type to: `Content-Type: application/json`
So if you're using fiddler client add `Content-Type: application/json` to the request header
Problem
I'm creating a web service using Web API. I implemented a simple class ``` public class ActivityResult { public String code; public int indexValue; public int primaryCodeReference; } ``` And then I have implemented inside my controller ``` [HttpPost] public HttpResponseMessage Post(ActivityResult ar) { return new HttpResponseMessage(HttpStatusCode.OK); } ``` But when I call the API passing in POST the file json: ``` {"code":"XXX-542","indexValue":"3","primaryCodeReference":"7"} ``` I obtain the following error message: ``` { "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)" } ``` What am I doing wrong?