Web API 2 возвращает простую строку без кавычки, если тип возвращаемого значения - IHttpActionResult - PullRequest
2 голосов
/ 19 июня 2019

Мой вопрос относится к этому вопросу .

Ответ показывает только решения, в которых вам придется изменить тип метода на HttpResponseMessage или string.

Это мой метод:

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

Возвращает:

"I am send by HTTP resonse"

Я ожидаю:

I am send by HTTP response

Есть ли способ вернуть простоестрока без кавычек, где тип возвращаемого значения метода IHttpActionResult?

Ответы [ 2 ]

2 голосов
/ 19 июня 2019

Вы можете использовать ApiController.ResponseMessage (HttpResponseMessage) Метод

Создает 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);
}
0 голосов
/ 19 июня 2019

IHttpActionResult - это способ WebApi2, вы также можете использовать

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

Также, если вы ожидаете без двойных кавычек, обратитесь по ссылке, указанной в вашем вопросе.

...