Force CamelCase on ASP.NET WebAPI Per Controller
Thanks to @KiranChalla I was able to achieve this easier than I thought.
Here is the pretty simple class I created:
using System;using System.Linq;using System.Web.Http.Controllers;using System.Net.Http.Formatting;using Newtonsoft.Json.Serialization;public class CamelCaseControllerConfigAttribute : Attribute, IControllerConfiguration { public void Initialize(HttpControllerSettings controllerSettings, HttpControllerDescriptor controllerDescriptor) { var formatter = controllerSettings.Formatters.OfType<JsonMediaTypeFormatter>().Single(); controllerSettings.Formatters.Remove(formatter); formatter = new JsonMediaTypeFormatter { SerializerSettings = {ContractResolver = new CamelCasePropertyNamesContractResolver()} }; controllerSettings.Formatters.Add(formatter); }}
Then just add the attribute to any Controller class you want CamelCase.
[CamelCaseControllerConfig]
This Stack Overflow answer should be helpful. It shows you how to create an ActionFilter which can be applied to any action where you wish to use CamelCasing.