WebApi’de Json CamelCase Çıktı Formatı

Merhabalar, webapi kullananlar için küçük bir ayardan bahsetmek istiyorum.

Yazım standartları içinde üretilen json çıktılarında belirli bir yol izlemeliyiz.

Genelde oluşturulan modeller servisimizden direk gönderdiğimizde modelin alanlarının isimleri olduğu gibi json tarafında üretilmekte.

Örn:

	public class VideoDto
    {
        public string Name { get; set; }
        public string Description { get; set; }
        public string Video { get; set; }
        public string Image { get; set; }
    }

VideoDto modelimizin çıktısı aşağıdaki gibi olur.

[
  {
    "Name": "Hotel",
    "Description": "desc",
    "Video": "embedded code",
    "Image": "thumb.jpg"
  }
]

Yazım standartları içerisinde ilk harflerin küçük bir sonraki kelimenin başlangıcı büyük olmalıdır.
Örn: dateTime gibi.

Bu işlemi çıktı üretimlerinde webapi’nin bir kaç config ayarlarında gerçekleştirebilir.
Aşağıdaki ayarları Global.asax içine gerçekleştirdim. Sizler projenizde nerede webapi’yi configure ediyorsanız oralarda gerçekleştirmelisiniz.

	GlobalConfiguration.Configure(config =>
    {
    	//Attribute http routing kullanmiyorsaniz bu satiri silebilirsiniz.
        config.MapHttpAttributeRoutes();

        //Json formatter
        var jsonFormatter = new JsonMediaTypeFormatter();

        var jsonSerializerSettings = jsonFormatter.SerializerSettings;
        jsonSerializerSettings.Formatting = Formatting.Indented;
        jsonSerializerSettings.Converters.Add(new StringEnumConverter());
        jsonSerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

        config.Formatters.Clear();
        config.Formatters.Add(jsonFormatter);
    });

Bol kodlu günler.

2,935 total views, 4 views today

No Comments

Leave a Comment

Ulaşım için: Facebook: /ganigani Twitter: @abdulgani_demir


*

%d blogcu bunu beğendi: