【发布时间】:2014-07-21 09:43:35
【问题描述】:
我在从 WebApi 返回“文本/纯文本”json 响应时遇到问题。
我需要以text/plain 的形式返回它,默认情况下它以应用程序/json 的形式返回。
我遇到的问题正是这个link 中发生的事情。
这不是重复的帖子,因为我已经阅读了多篇帖子,但仍有一个小问题。
这是我的服务器代码:
public HttpResponseMessage Post()
{
var response = GetModel();
string jsonRes = JsonConvert.SerializeObject(response);
var resp = new HttpResponseMessage();
resp.Content = new StringContent(jsonRes);
resp.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
return resp;
}
这是我得到的回复:
StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StringContent, Headers:
{
Content-Type: text/plain
}
jsonRes 变量包含一个有效的 JSON。
为什么下载的内容为 Content:System.Net.Http.StringContent?
我可能在这里遗漏了一些小东西。
【问题讨论】:
-
您返回的是
HttpResponseMessage类型的对象,而不是为实际内容类型设置任何变量。 -
你怎么称呼这个API? $.ajax (jQuery) 有一个数据类型来设置返回的好类型。
-
@Erti-ChrisEelmaa 这不是重复的。我已经阅读了 20 篇文章,但仍然有问题。
-
@SamiKuhmonen - 我正在设置内容类型,如您在此处看到的:resp.Content.Headers.ContentType = new MediaTypeHeaderValue("text/plain");
标签: c# json asp.net-web-api