Return a String in Web API 2

2019-05-01 05:39发布

As simple as it sounds, I haven't found any documentation on this and perhaps I'm wording it wrong so if so, some good documentation on this would be appreciated. I simply want to return a string or a model of type string.

return "string here";

I get this error every time:

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

I've also tried using a CAST - same error.

return (IHttpActionResult)"string"

2条回答
走好不送
2楼-- · 2019-05-01 06:42

you can do this which returns a 200 (Ok) :

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

Take a look at the docs to see what else you can return ie: ok, badrequest etc

查看更多
霸刀☆藐视天下
3楼-- · 2019-05-01 06:44

As Ric mentioned Ok() will do it

return Ok("some string");

However, not all of the ApiController Methods will allow you to pass a string so if you don't want to return a Success status, you can use Content()

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

You can also pass an object back with Content if you want:

if (!ModelState.IsValid)
{
    var responseObject = responseGenerator.GetResponseForInvalidModelState(ModelState);
    return Content(HttpStatusCode.BadRequest, responseObject);
}
查看更多
登录 后发表回答