I am sending JSON objects from client but when I get my model all properties bind with default value.
I try some ways for example I got data as string but no results my expected. So how can i solve this?
Web API Config
public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; config.Formatters.Remove(config.Formatters.XmlFormatter); } Model
[Serializable] public class WorkerPuantaj { public int workT { get; set; } public int PDay { get; set; } public int PMonth { get; set; } public int PYear { get; set; } public int worker { get; set; } } Client Request
$.ajax({ url: "/api/BuildingApi/AddPuantajItems", dataType: "json", contentType: "application/json; charset=utf-8", type: 'POST', data: JSON.stringify(jsonData), success: function (data) { alert("oldu"); }, error: function (a, b, c) { alert("olmadı"); } }); JSON Being Sent
"[{"workT":1,"PDay":20,"PMonth":4,"PYear":2014,"worker":3},{"workT":2,"PDay":21,"PMonth":4,"PYear":2014,"worker":3},{"workT":3,"PDay":22,"PMonth":4,"PYear":2014,"worker":3}]

AddPuantajItemsasList<WorkerPuantaj>instead ofWorkerPuantaj[].