gpt4 book ai didi

c# - Web API - 从模型返回一些字段

转载 作者:行者123 更新时间:2023-12-03 09:29:12 25 4
gpt4 key购买 nike

我有这个模型:

public class Quiz
{
public int Id { get; set; }
public string Title { get; set; }
public int CurrentQuestion { get; set; }
[JsonIgnore]
public virtual ICollection<Question> Questions { get; set; }
}

[JsonIgnore]它告诉 JSON 序列化器忽略这个字段(问题)。所以,我有一个 Action ,它返回没有问题的序列化测验。我必须执行另一个将返回 的操作全部 字段(包括问题)。我怎样才能做到这一点 ?我需要这两个 Action 。

最佳答案

最好不要从 API 返回域模型。更好的方法是创建 View 模型类并返回它们。

因此,在您的示例中,您只需创建:

public class QuizViewModel 
{
public int Id { get; set; }
public string Title { get; set; }
public int CurrentQuestion { get; set; }
}

并使用它从您的 API 返回数据。

显然,在一些更大的类中,复制所有属性的代码将是一场噩梦,但不用担心——Automapper ( http://automapper.org/) 来拯救! :)
//Best put this line in app init code
Mapper.CrateMap<Quiz, QuizViewModel>();

//And in your API
var quiz = GetSomeQuiz();
return Mapper.Map<QuizViewModel>(quiz);

然后,您以相同的方式创建另一个带有 Questions 字段的 View 模型类。

关于c# - Web API - 从模型返回一些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com