I had the same problem. I want to create custom result for my api controllers, to call them like
return Ok("some text");
Then i did this: 1) Create custom result type with singletone
public sealed class EmptyResult : IHttpActionResult
{
public Task<HttpResponseMessage> ExecuteAsync(CancellationToken cancellationToken)
{
return Task.FromResult(new HttpResponseMessage(System.Net.HttpStatusCode.NoContent) { Content = new StringContent("Empty result") });
}
}
2) Create custom controller with new method:
public class CustomApiController : ApiController
{
public IHttpActionResult EmptyResult()
{
return new EmptyResult();
}
}
And then i can call them in my controllers, like this:
public IHttpActionResult SomeMethod()
{
return EmptyResult();
}