【问题标题】:Return a String in Web API 2在 Web API 2 中返回一个字符串
【发布时间】:2016-02-11 16:05:57
【问题描述】:

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

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"

【问题讨论】:

    标签: c# asp.net-web-api asp.net-web-api2


    【解决方案1】:

    你可以这样做,它会返回 200(Ok):

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

    查看docs 看看您还能返回什么,例如:okbadrequest

    【讨论】:

    • 我知道它必须如此简单。如您所知,我是 WebAPI 的新手。谢谢!
    • 不客气,这只是做你想做的一种方式,看看这里有更多的方法:stackoverflow.com/questions/15816049/…
    【解决方案2】:

    正如 Ric 所说,Ok() 会做到的

    return Ok("some string");
    

    然而,并不是所有的 ApiController 方法都允许你传递一个字符串,所以如果你不想返回一个 Success 状态,你可以使用 Content()

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-28
      • 1970-01-01
      • 2019-01-02
      • 1970-01-01
      • 2015-07-07
      • 2015-06-12
      • 2012-12-14
      • 2016-10-27
      相关资源
      最近更新 更多