ASP.NET Web API - Content Negotiation

Content Negotiation

在 RESTful API 中, client 可以選擇 response 的 type 是 XML 或者是 JSON, 那麼這項要求就會被加在 Accept 的 request header 裡面
Accept: application/xml
Accept: application/json
那麼 Web API 可以收到這一個 request 會做甚麼事呢? 假設現在 client 需要的是 xml format 的 data, Web API 就要使用 XML formatter, 如果 client 需要的是 json format, Web API 就要使用 Json Formatter 回傳 data
想要回傳的 data 也可以自己定義 configuration, 如果以 json format, 想要 key 的 name 是 camelCase, 那麼就可以在 WebApiConfig.cs 中加上以下的 configuration
            config.Formatters.JsonFormatter.SerializerSettings.ContractResolver =
                new CamelCasePropertyNamesContractResolver();

留言