Return Web 中的字符串 API 2

Return a String in Web API 2

虽然听起来很简单,但我还没有找到任何关于此的文档,也许我的措辞有误,所以如果是的话,我将不胜感激。我只是想 return 一个字符串或一个字符串类型的模型。

return "string here";

我每次都收到这个错误:

Severity    Code    Description Project File    Line
Error   CS0029  Cannot implicitly convert type 'string' to 'System.Web.Http.IHttpActionResult'  TaskManagement  C:\dev\TaskManagement\TaskManagement\Controllers\JobsController.cs  157

我也试过使用 CAST - 同样的错误。

return (IHttpActionResult)"string"

你可以这样做 returns a 200 (Ok) :

public IHttpActionResult Get()
{
    return Ok("some string");
}

看看 docs 看看你还能做什么 return 即:okbadrequest

正如 Ric 提到的那样,Ok() 会做到这一点

return Ok("some string");

但是,并非所有 ApiController 方法都允许您传递字符串,因此如果您不想 return 成功状态,您可以使用 Content()

return Content(HttpStatusCode.BadRequest, "string here");

如果需要,您还可以将对象与内容一起传回:

if (!ModelState.IsValid)
{
    var responseObject = responseGenerator.GetResponseForInvalidModelState(ModelState);
    return Content(HttpStatusCode.BadRequest, responseObject);
}