Je viens de changer notre projet de ASP .Net Core 1.0.0-rc2-final à 1.0.0. Notre site Web et notre client ont cessé de fonctionner en raison de la capitalisation des propriétés JSON. Par exemple, cette ligne de JavaScript échoue maintenant
for (var i = 0; i < collection.Items.length; i++){
car le contrôleur appelle maintenant le tableau “items” au lieu de “Items”. Je n’ai apporté aucune modification au-delà de l’installation des packages mis à jour et de la modification du fichier project.json. Je n’ai pas modifié les fichiers de modèle C # qui capitalisent toujours leurs propriétés.
Pourquoi les contrôleurs ASP.Net Core ont-ils commencé à renvoyer JSON avec des propriétés minuscules? Comment puis-je revenir à eux en honorant la casse des noms de propriété du modèle?
MVC sérialise maintenant JSON avec les noms de cas camel par défaut
Utilisez ce code pour éviter les noms de cas de camel par défaut
services.AddMvc() .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());
voir l’annonce à ce sujet ici https://github.com/aspnet/Announcements/issues/194
vous pouvez changer le comportement comme ceci:
services .AddMvc() .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());