2013-07-04 3 views
1

WebApi Controller.Method에 대해 다른 반환 유형의 다른 예가 표시됩니다.JSON.NET MVC 4 WebApi 적절한 반환 형식

  1. Customizing JSON.NET serialization - 취득 메소드가 리턴 HttpResponseMessage
  2. using JSON.NET in ASP.NET MVC이 - ActionResult를 보여줍니다 (나는 그것이 오래된 기사를 이해)
  3. API 광고 자습서는 비즈니스 오브젝트를 돌려

나는 경우에 대한 지침이 무엇인지 궁금해 무엇을 돌려 주시겠습니까?

감사합니다.

답변

0

모두 귀하의 요구 사항에 따라 다릅니다.

HttpResponseMessage를 반환하면 사용자 지정 메시지와 함께 HttpStatusCode를 반환하는 옵션이 제공됩니다.

예를 들어, 애플리케이션에서 웹 API (예 : 새로운 고객)를 통해 무언가를 저장한다고 가정 해보십시오. 당신은 메시지와 함께 그 객체를 꽤 쉽게 반환 할 수 있고 반환 유형 (json 또는 xml)에 대해 전혀 걱정할 필요가 없습니다. 그리고 이것은 여러분의 3 번째 포인트에 대한 해답이 될 것입니다. 이것은 웹 API의 프론트 엔드에 비즈니스 객체를 보내는 더 좋은 방법입니다.

3 단계에 대한 답변으로 자세한 내용은이 블로그 게시물을 참조하십시오. http://blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part-2-providing-custom-samples-on-the-help-page.aspx

웹 API 동작에서 HttpResponseMessage를 반환하면 반환 코드는 다음과 유사합니다.

return Request.CreateResponse<Customer>(HttpStatusCode.Created, newlyCreatedCustomer); 

두 번째 게시물은 웹 API에 대해서는 언급하지 않았습니다. 컨트롤러 액션에서 수행하려는 경우 json 데이터를 반환하는 방법을 보여줍니다.

+0

나는 HttpResponseMessage를 돌려주는 것이 좋은 테스트를 허용하지 않는다는 의견을 보았 기 때문에 ... 나는 HttpResponseMessage 내부에서 꽤 많은 것을 반환 할 수 있다는 것에 동의한다 ..... 어떻게 생각하니? –

+0

예, HttpResponseMessage를 반환하는 동작에 대한 테스트를 작성하는 것은 많은 구성을 예상하기 때문에 약간 까다 롭습니다. 이 블로그 게시물을 보시고, 그것에 대해 밝히십시오. http://www.peterprovost.org/blog/2012/06/16/unit-testing-asp-dot-net-web-api/ – Amila