Como retornar HTML do controlador ASP.NET MVC Web API?
Tentei o código abaixo, mas obtive um erro de compilação, pois Response.Write não está definido:
public class MyController : ApiController
{
[HttpPost]
public HttpResponseMessage Post()
{
Response.Write("<p>Test</p>");
return Request.CreateResponse(HttpStatusCode.OK);
}
}
Respostas:
ASP.NET Core. Abordagem 1
Se o seu controlador estende
ControllerBase
ouController
você pode usar oContent(...)
método:ASP.NET Core. Abordagem 2
Se você optar por não estender as
Controller
aulas, pode criar novosContentResult
:API da Web ASP.NET MVC herdada
Retorne o conteúdo da string com o tipo de mídia
text/html
:fonte
[Produces]
abordagem?A partir do AspNetCore 2.0, é recomendado usar ao
ContentResult
invés doProduce
atributo neste caso. Veja: https://github.com/aspnet/Mvc/issues/6657#issuecomment-322586885fonte