Mon API Web est actuellement configurée de manière à renvoyer tous les JSON au format camelCase, avec le code suivant dans l'API WebApiConfig
:
var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver =
new
Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
Et cela fonctionne à merveille. Cependant, j'utilise le plugin jQuery Datatable et je sauvegarde/charge l'état par le biais de mon API, et celle-ci exige que les données soient renvoyées au format TitleCase. Il est évident que je ne vais pas réécrire l'ensemble de mes applications pour qu'elles acceptent le format Json TitleCase. LoadState
route uniquement pour renvoyer le format TitleCase.
J'ai essayé des choses comme :
[HttpGet]
[Route("api/Controller/LoadState")]
public IHttpActionResult LoadState()
{
var state = _eService.LoadState(UserProfile.IndividualId);
//requires title cased object
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.ContractResolver = new DefaultContractResolver();
return Ok(state);
}
Mais cela semble régler l'ensemble de l'application sur TitleCase et écraser mes paramètres dans le fichier de configuration de l'application. WebApiConfig
. Quelqu'un a-t-il des recommandations ?