Wpis z mikrobloga

@serafino: Ok, wyjaśniłem sobie sam. Porównałem jsony jakie wychodzą ze starego API i nowego i dostałem takie coś:

Web Api 2
[{"id":1,"name":"Tomato Soup","category":"Groceries","price":1.0},{"id":2,"name":"Yo-yo","category":"Toys","price":3.75},{"id":3,"name":"Hammer","category":"Hardware","price":16.99}]

Core API
[{"Id":1,"Name":"asdas","Category":"asd","Price":3.00},{"Id":2,"Name":"asdas","Category":"asd","Price":3.00},{"Id":3,"Name":"asdas","Category":"asd","Price":7.00}]

Z jakiegoś powodu "stare" api nazywało pola z małej litery, pomimo, że wszystkie pola z modelu były z wielkiej. Jquery szukały w response pól z małej litery, ale dostawał z wielkiej, stąd ten undefined
@kobiaszu: W Core w startup.cs możesz ustawiać sobie w konfiguracji jak ma ci zwracać jsona.

na przykład:

services.AddMvc().AddJsonOptions(options => {
options.SerializerSettings.ContractResolver = new DefaultContractResolver();
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
});

tu masz możliwości:

https://www.newtonsoft.com/json/help/html/ContractResolver.htm