在ASP.NET Web API進行Controller層級的組態
在ASP.NET Web API要進行組態設置的話,一般會到WebApiConfig.cs進行設置。不過有個好玩的問題,在WebApiConfig.cs進行的組態都是以HttpConfiguration物件在進行操作,MSDN說明表示 HttpServer 執行個體的設定。
。也就是說,不管你在何處進行設置,設置之後,它影響是的整個ASP.NET Web API(即HttpServer執行範圍)。
Model:TodoItem
以下是範例Model:
public class TodoItem
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsDone { get; set; }
}
然後利用基架含Entity Framework產生TodoItemsConteoller。建置之後,先利用POSTMAN等工具,新增幾筆資料:
小寫開頭(CamelCase)
JSON.NET預設序列化依照TodoItem的屬性名稱來輸出,現在有個簡單的需求,希望可以改採小寫開頭(CamelCase)的方式,那麼可以在WebApiConfig.cs這樣設置:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
// 省略
}
}
設置CamelCasePropertyNamesContractResolver之後,解決第一個需求:小寫開頭。



