对我来说唯一缺失的部分是响应标头仍包含content-type:text/html。为什么这是一个问题?因为我使用J-SON格式化Chrome扩展程序,它检查内容类型,并且我没有得到我习惯的漂亮格式。我固定的,与接受text/html的请求,并返回应用程序/ J-儿子回应一个简单的自定义格式:
public class JsonFormatter : JsonMediaTypeFormatter
{
public JsonFormatter() {
this.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
this.SerializerSettings.Formatting = Formatting.Indented;
}
public override void SetDefaultContentHeaders(Type type, HttpContentHeaders headers, MediaTypeHeaderValue mediaType)
{
base.SetDefaultContentHeaders(type, headers, mediaType);
headers.ContentType = new MediaTypeHeaderValue("application/json");
}
}
,然后使用此代码:你如何查询您的服务
config.Formatters.Add(new JsonFormatter());
?其次,你是否确定将http查询的contentType或accept(不记得应该设置哪一个)属性设置为json –
否..你需要在哪里设置它?我使用数据阅读器进行查询,然后序列化数据并将其转换为json。 –
看看[这个](http://stackoverflow.com/questions/22681925/webapi-force-action-to-return-xml) –