더북(TheBook)

3. Web API에서는 C#의 Name, Content 등의 속성 값이 대문자로 클라이언트에 전달된다. 하지만 자바스크립트 프로그래밍 기본 규칙에서의 변수명은 소문자로 시작하는 것을 권장한다. 이러한 규칙을 맞추기 위해서 Web API의 결괏값을 소문자로 시작할 수 있도록 추가 설정이 필요하다.

MemoEngine 프로젝트의 App_Start 폴더의 WebApiConfig.cs 파일을 열고 다음 코드를 추가한다. 주석 부분은 꼭 입력하지 않아도 된다.

▼  /App_Start/WebApiConfig.cs

using System.Web.Http;

namespace MemoEngine
{
  public static class WebApiConfig
  {
      public static void Register(HttpConfiguration config)
      {
          // Web API 구성 및 서비스
          
          // [!] Web API에서 JSON 값을 반환시 
          // 파스칼 케이스가 아닌 카멜 케이스로 표현하기 위한 방법
          // [a] 표현 방법 1
          // var formatter =
          //    GlobalConfiguration.Configuration.Formatters.JsonFormatter;
          // formatter.SerializerSettings.ContractResolver = new Newtonsoft
          //    .Json.Serialization.CamelCasePropertyNamesContractResolver();
          // [b] 표현 방법 2
          config.Formatters.JsonFormatter.SerializerSettings.ContractResolver =
              new Newtonsoft.Json.Serialization.
                  CamelCasePropertyNamesContractResolver();
          
          // Web API 경로
          config.MapHttpAttributeRoutes();
          
          config.Routes.MapHttpRoute(
              name: “DefaultApi”,
              routeTemplate: “api/{controller}/{id}”,
              defaults: new { id = RouteParameter.Optional }
          );
      }
  }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.