Return a String in Web API 2

12,013

Solution 1

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

Solution 2

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);
}
Share:
12,013
Cody J. Mathis
Author by

Cody J. Mathis

8+ years of experience in enterprise software development using C#, MSSQL and the .NET stack.

Updated on June 05, 2022

Comments

  • Cody J. Mathis
    Cody J. Mathis almost 2 years

    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"