c# - 有条件地从响应或最佳实践中排除模型字段以实现它?
问题描述
我有这段代码来展示我想要的结果。
[HttpGet]
[ProducesResponseType(200)]
public async Task<IActionResult> GetAll([FromQuery] Boolean includeData = false)
{
if (includeData)
{
var processListWithData = new List<ProcessWithData>()
{
new ProcessWithData() {Id = "1", Key = "k-1", Data = "Data1"},
new ProcessWithData() {Id = "2", Key = "k-2", Data = "Data2"},
new ProcessWithData() {Id = "3", Key = "k-3", Data = "Data3"}
};
return Ok(processListWithData);
}
else
{
var processList = new List<Process>()
{
new Process() {Id = "11", Key = "k-11"},
new Process() {Id = "22", Key = "k-22"},
new Process() {Id = "33", Key = "k-33"}
};
return Ok(processList);
}
}
如果将查询参数 includeData 设置为 true,则结果将包含数据字段。如果将其设置为 false,则结果中不会包含数据字段。
有没有一种方法可以实现所需的结果而不必使用将返回的 2 个不同的对象?
解决方案
推荐阅读
- android - Espresso:测试滑动以删除 ViewPager 中的 Recyclerview 项目
- regex - 按出现的第一个字符拆分列
- mysql - 用于在 csv 文件中获取 mysql 查询数据并发送到邮件的 Shell 脚本
- c++ - 如何计算向量的内容?
- python - import 语句如何修改模块的符号表?
- javascript - 如何按 JSON 日期对数组进行排序
- python - 如何在 Microsoft Azure 中托管机器人?
- xamarin.ios - 通用链接在 Xamarin.iOS 中不起作用
- java - 休眠圈出的实体
- android - 检测系统语言变化