【发布时间】:2021-10-07 12:57:50
【问题描述】:
我在 .Net Core 3.1 WebApi 中实现了以下端点。 TestFilter 对象有一个列表参数TestTypes。 TestTypes 在构造后会获得一个默认的 TestType 值。当使用 TestFilter 参数调用端点时,我希望默认值将替换为传入值。相反,它被添加到列表中,因此默认值仍然是其中的一部分。
这在使用 .Net472 时有效,但在迁移到 .Net Core 3.1 后,默认值始终是数组的一部分。
如果默认参数值是由客户端提供的,有没有办法指定覆盖默认参数值?
[HttpPost]
[Route("test")]
public async Task<IHttpActionResult> GetTests([FromBody] TestFilter filter)
{
// Call repo
}
public class TestFilter
{
public IReadOnlyCollection<TestType> TestTypes { get; set; }
public string Description;
TestFilter() {
TestTypes = new List
{
new TestType("AdvancedTest", 10)
};
}
}
【问题讨论】:
标签: c# asp.net-core