2017-03-23 1 views
2

Web API 2에서는 두 가지 방법으로 200을 반환 할 수 있습니다. 이 값을 가질 수 있습니다System.Web.Http.Results.OkResult 대 Content (HttpStatusCode.OK)

return Ok() 또는

return Ok("Some value") 또는

return Content(HttpStatusCode.OK, "Some value")

은 포매터 및 다른 매개 변수와 함께 포함되어 있습니다.

나는 return Content(...)return NoContent()

return Ok()return Content(..) 단지 바로 가기가없는이 곳의 모든 HttpStatusCodes은 그래서 NoContent 같은 반응에 사용되는 지원 알아?

+0

'Ok Ok ("some value")'OkNegotiatedContentResult ' – Nkosi

답변

1

return Ok()return Content(..)에 대한 바로 가기입니까?

문제의 방법을 보면 당신은 그들이 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에서 파생 된 것입니다.

+1

.net 소스 코드에 들어가서 다양한 종류가 반환되는 것을 보았지만 호출자 측에서 볼 수 있어야합니다. 거기에 어떤 차이가 있습니까? – Bryan