发送JSON-LD时不受支持的媒体类型格式化程序

时间:2019-09-25 15:30:36

标签: c# asp.net-web-api json-ld mediatypeformatter

我正在使用C#中的HttpClient向Webapi端点发送JSON LD数据。 我收到错误,不支持的媒体类型格式化程序。 我发送的数据是JSONLD作为字符串:

string data = @"{
                      ""@type"": ""vcx:blah"",
                      ""vcx:key"": ""blah"",
                      ""vcx:value"": ""blah""
                 } ";
httpClient.PostAsync(uri, new StringContent(data));

在api方面是网络api。在Global.asax.cs中,我具有以下内容:

GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new 
JsonMediaTypeFormatter());

即使我清除了格式化程序的清除,我在调用应用程序时也遇到了相同的错误。

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:1)

请参见docs

您正在使用StringContent的第一个构造函数,这意味着创建的StringContent的媒体类型默认为text/plain

如果您需要jsono,请指定媒体类型:

httpClient.PostAsync(uri, new StringContent(data, Encoding.UTF8, "application/json"));