我的问题是指这个问题。
答案仅显示您必须将方法类型更改为
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
?
您可以使用 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);
}
更改为:
public IHttpActionResult Get()
{
return Content("I am send by HTTP resonse");
}
IHttpActionResult是WebApi2方式,你也可以使用
public HttpResponseMessage Get()
{
return Request.CreateResponse(HttpStatusCode.OK, "I am send by HTTP response");
}
此外,如果您期望不带双引号,请参阅您在问题中指定的链接。
我知道有点晚了,但我必须从这个问题和另一个答案中解决这个问题。
如果将“text/plain”格式化程序添加到 Web API 配置中,OP 的代码就可以工作,如此处的其他答案所示。
在另一个答案中,他们使用
this.Request...
,但它也适用于OP的
return Ok("I am send by HTTP resonse");