Я пытаюсь написать. NET Core API, который возвращает список объектов. Следующий класс используется для отправки ответов:
class AnimalResponse {
public IAnimal Animal { get; set; }
}
Существует пустой интерфейс:
interface IAnimal {
}
Есть также 2 класса, которые реализуют этот интерфейс:
class Cat : IAnimal {
public string CatProperty { get; set; }
}
class Dog : IAnimal {
public string DogProperty { get; set; }
}
Как видите, свойство Animal
класса AnimalResponse
может содержать объект класса Cat
или Dog
. Вот как я отправляю ответ:
var response = new AnimalResponse() {
Animal = new Cat() {
CatProperty = "Cat Property Value"
}
};
return JsonResult(response);
По какой-то причине CatProperty
пропускается в ответе API после сериализации. API возвращает следующее json: {Animal:{}}
.
Итак, как мне сделать так, чтобы оно включало все свойства c, определенные для класса?
Примечание: я использую Microsoft.AspNetCore.Mvc.JsonResult
, не Newtonsoft.Json
.