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

时间:2019-06-19 11:06:24

标签: c# asp.net asp.net-web-api asp.net-web-api2

我的问题是指此question

答案仅显示需要将方法类型更改为HttpResponseMessagestring的解决方案。

这是我的方法:

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

它返回:

"I am send by HTTP resonse"

我希望:

I am send by HTTP response

在方法的返回类型为IHttpActionResult的情况下,是否有一种方法可以返回不带引号的简单字符串?

3 个答案:

答案 0 :(得分:2)

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

  

使用指定的响应创建一个ResponseMessageResult

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

答案 1 :(得分:0)

IHttpActionResult是WebApi2方式,您也可以使用

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

此外,如果您希望不带双引号,请参阅您在问题中指定的链接。

答案 2 :(得分:0)

改为:

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