Web API 2 return 当 return 类型为 IHttpActionResult 时不带引号的简单字符串

Web API 2 return simple string without quotation mark when return type is IHttpActionResult

我的问题是指这个

答案仅显示您必须将方法类型更改为 HttpResponseMessagestring.

的解决方案

这是我的方法:

public IHttpActionResult Get()
{
    return Ok("I am send by HTTP resonse");
}

它returns:

"I am send by HTTP resonse"

我预计:

I am send by HTTP response

有没有办法 return 一个不带引号的简单字符串,其中方法的 return 类型是 IHttpActionResult

IHttpActionResult是WebApi2方式,也可以使用

public HttpResponseMessage Get()
{
    return Request.CreateResponse(HttpStatusCode.OK, "I am send by HTTP response");
}

此外,如果您希望没有双引号,请参考您在问题中指定的 link。

您可以使用ApiController.ResponseMessage(HttpResponseMessage) Method

Creates a ResponseMessageResult with the specified response.

ResponseMessageResult 派生自 IHttpActionResult

public IHttpActionResult Get() {
    var message = "I am send by HTTP response";
    var httpResponseMessage = new HttpResponseMessage(HttpStatusCode.OK) {
        Content = new StringContent(message, System.Text.Encoding.UTF8, "text/plain")
    };
    return ResponseMessage(httpResponseMessage);
}

改为:

public IHttpActionResult Get()
{
    return Content("I am send by HTTP resonse");
}