Вы можете сделать это с помощью Generics .
Сначала создайте свой базовый класс ответа.
public class SomeBaseResponse<T>
{
[JsonProperty("statuscode")]
public int StatusCode { get; set; }
[JsonProperty("message")]
public string Message { get; set; }
[JsonProperty("result")]
public T Result { get; set; }
[JsonProperty("count")]
public int Count { get; set; }
}
Затем вы можете ответить этим классом из действия вашего контроллера. Вот пример:
public SomeBaseResponse<SomeModel> FirstControllerAction(){
// It can be anything else than SomeModel
return new SomeBaseResponse<SomeModel> {
StatusCode = 10,
Message = "Success!",
Result = new SomeModel(),
Count = 1
};
}
Вы можете создать любое количество конечных точек с различными общими типами. Это также помогает сохранять ваши ответы обобщенными и легко анализируемыми.
Swagger сгенерирует что-то вроде этого. (Это не фактическое представление модели, которую мы создали, это просто пример!) Нажмите здесь, чтобы посмотреть скриншот