在Web API 2中返回一个String

时间:2016-02-11 16:05:58

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

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

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"

2 个答案:

答案 0 :(得分:8)

你可以这样做,返回200(确定):

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

查看docs,了解您还可以返回的内容,即:okbadrequest

答案 1 :(得分:2)

正如Ric所说,Ok()会这样做

return Ok("some string");

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

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

如果需要,您还可以使用内容传回对象:

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