I have an ApiController that serves XML/JSON, but I would like one of my actions to return pure HTML. I tried the below but it still return XML/JSON.
public string Get()
{
return "<strong>test</strong>";
}
This is what the above returns:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
Is there a way to return just the pure, unescaped text without even the surrounding XML tags (maybe a different return type of action attribute)?
You could have your Web Api action return an HttpResponseMessage
for which you have full control over the Content. In your case you might use a StringContent and specify the correct content type:
public HttpResponseMessage Get()
{
return new HttpResponseMessage()
{
Content = new StringContent(
"<strong>test</strong>",
Encoding.UTF8,
"text/html"
)
};
}
or
public IHttpActionResult Get()
{
return base.ResponseMessage(new HttpResponseMessage()
{
Content = new StringContent(
"<strong>test</strong>",
Encoding.UTF8,
"text/html"
)
});
}