System.Web.Http.Results.OkResult 与内容 (HttpStatusCode.OK)

System.Web.Http.Results.OkResult vs Content(HttpStatusCode.OK)

在网络中 Api 2 我可以通过两种方式 return 200。

return Ok()return Ok("Some value")

或者

return Content(HttpStatusCode.OK, "Some value") 这可以包含任何值,以及格式化程序和一些其他参数。

我知道 return Content(...) 支持所有 HttpStatusCodes,因此它将用于像 NoContent 这样没有 return NoContent()

的响应

return Ok()只是return Content(..)的快捷方式吗?

Is return Ok() just a shortcut for return Content(..)?

没有

如果您查看相关方法,您将看到它们 return IHttpActionResult 派生的内容 类

protected internal virtual NegotiatedContentResult<T> Content<T>(HttpStatusCode statusCode, T value);        
protected internal FormattedContentResult<T> Content<T>(HttpStatusCode statusCode, T value, MediaTypeFormatter formatter);        
protected internal virtual FormattedContentResult<T> Content<T>(HttpStatusCode statusCode, T value, MediaTypeFormatter formatter, MediaTypeHeaderValue mediaType);    
protected internal FormattedContentResult<T> Content<T>(HttpStatusCode statusCode, T value, MediaTypeFormatter formatter, string mediaType);    
protected internal virtual OkResult Ok();
protected internal virtual OkNegotiatedContentResult<T> Ok<T>(T content);

除了派生自 IHttpActionResult.

之外,return 类型中的每一个都彼此无关