¿Cómo devolver HTML desde el controlador de API web ASP.NET MVC?
Probé el siguiente código pero obtuve un error de compilación ya que Response.Write no está definido:
public class MyController : ApiController
{
[HttpPost]
public HttpResponseMessage Post()
{
Response.Write("<p>Test</p>");
return Request.CreateResponse(HttpStatusCode.OK);
}
}
Respuestas:
ASP.NET Core. Enfoque 1
Si su controlador se extiende
ControllerBase
oController
puede usar elContent(...)
método:ASP.NET Core. Enfoque 2
Si elige no extenderse de las
Controller
clases, puede crear nuevasContentResult
:API web de ASP.NET MVC heredada
Devuelve el contenido de la cadena con el tipo de medio
text/html
:fuente
[Produces]
acercarte?Comenzando con AspNetCore 2.0, se recomienda usar en
ContentResult
lugar delProduce
atributo en este caso. Ver: https://github.com/aspnet/Mvc/issues/6657#issuecomment-322586885fuente