Ich erstelle einen Webdienst mithilfe der Web-API. Ich habe eine einfache Klasse implementiert
public class ActivityResult
{
public String code;
public int indexValue;
public int primaryCodeReference;
}
Und dann habe ich in meinem Controller implementiert
[HttpPost]
public HttpResponseMessage Post(ActivityResult ar)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
Aber wenn ich die API aufrufe, die POST übergibt, wird die Datei json:
{"code":"XXX-542","indexValue":"3","primaryCodeReference":"7"}
Ich erhalte die folgende Fehlermeldung:
{
"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)"
}
Was mache ich falsch?
Accept
Header auf setzen application/json
. Sie müssen auch den Content-Type
Header auf setzen application/json
.