Solución:
IHttpActionResult
es ahora efectivamente IActionResult
, y para devolver un Ok
con un objeto de devolución, usarías return new ObjectResult(...);
Así que efectivamente algo como esto:
public IActionResult Get(int id)
{
if (id == 1) return HttpNotFound("not found!");
return new ObjectResult("value: " + id);
}
Aquí hay un buen artículo con más detalles:
http://www.asp.net/vnext/overview/aspnet-vnext/create-a-web-api-with-mvc-6
Respuesta actualizada
Vi que alguien hizo referencia al WebApiCompatShim
en un comentario.
WebApiCompatShim
todavía se mantiene para este tipo de escenarios de portabilidad y ahora se publica 1.1.0.
Vi eso Microsoft.AspNetCore.OData 1.0.0-rtm-00011
tiene WebApiCompatShim
como dependencia. No sé exactamente qué están tratando de lograr en esta área, estos son solo hechos.
Si no desea obtener otro paquete de compatibilidad y está buscando más trabajo de refactorización, puede mirar el siguiente enfoque: WebApiCompatShim: cómo configurar una API REST con MVC 6
Todavía podrás usar Ok()
o puede intentar usar el OkObjectResult()
El método como palabra Http se eliminó para no ser demasiado detallado. HttpOkObjectResult
-> OkObjectResult
[HttpPost]
public ObjectResult Post([FromBody]string value)
{
var item = new {Name= "test", id=1};
return new OkObjectResult(item);
}
[HttpPost]
public ObjectResult Post([FromBody]string value)
{
var item = new {Name= "test", id=1};
return Ok(item);
}