我有一个提供 XML/JSON 服务的 ApiController,但我希望我的操作之一返回纯 HTML。我尝试了以下方法,但它仍然返回 XML/JSON。
public string Get()
{
return "<strong>test</strong>";
}
这就是上面的返回结果:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
有没有办法只返回纯的、未转义的文本,甚至不需要周围的 XML 标签(可能是不同的操作属性返回类型)?
最佳答案
您可以让 Web Api 操作返回一个 HttpResponseMessage
,您可以完全控制其内容。在您的情况下,您可以使用 StringContent 并指定正确的内容类型:
public HttpResponseMessage Get()
{
return new HttpResponseMessage()
{
Content = new StringContent(
"<strong>test</strong>",
Encoding.UTF8,
"text/html"
)
};
}
或
public IHttpActionResult Get()
{
return base.ResponseMessage(new HttpResponseMessage()
{
Content = new StringContent(
"<strong>test</strong>",
Encoding.UTF8,
"text/html"
)
});
}
关于asp.net - 如何使用 ApiController 返回原始字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14046417/