Cody J. Mathis
Cody J. Mathis

Reputation: 652

Return a String in Web API 2

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"

Upvotes: 7

Views: 14990

Answers (2)

Elliott
Elliott

Reputation: 2205

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);
}

Upvotes: 3

Ric
Ric

Reputation: 13248

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

Upvotes: 13

Related Questions