Eu tenho um ApiController que serve XML / JSON, mas gostaria que uma de minhas ações retornasse HTML puro. Eu tentei o abaixo, mas ele ainda retorna XML / JSON.
public string Get()
{
return "<strong>test</strong>";
}
É isso que o retorno acima:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string>
Existe uma maneira de retornar apenas o texto puro e sem escape, mesmo sem as tags XML ao redor (talvez um tipo de retorno diferente do atributo de ação)?
Outra solução possível. Na API da Web 2, usei o método base.Content () de
APIController
:Eu precisava fazer isso para solucionar um bug do IE9, onde ele continuava tentando baixar o conteúdo JSON. Isso também deve funcionar para dados do tipo XML usando o
XmlMediaTypeFormatter
formatador de mídia.Espero que ajude alguém.
fonte
Só
return Ok(value)
não vai funcionar, será tratado comoIEnumerable<char>
.Em vez disso, use
return Ok(new { Value = value })
ou similar.fonte
Eu chamo o seguinte método do controlador webapi2 a partir de um método do controlador mvc:
Eu chamo isso dessa rotina no servidor asp.net:
fonte
Se você estiver usando MVC em vez de WebAPI, poderá usar o método base.Content:
fonte
Devemos nos esforçar para não retornar html, mas dados puros das nossas APIs e formatar os dados adequadamente na interface do usuário, mas talvez você possa usar:
funciona para mim
fonte