【发布时间】:2019-11-29 21:02:18
【问题描述】:
我的一个 API 端点需要一个包含命名元组列表的对象。输入对象的一个示例是:
public enum Countries { Afghanistan, Albania, Algeria, Andorra /*...*/ }
public class InputModel
{
public List<(Countries Country, bool Visited)> CountriesVisited { get; set; }
}
当我加载 Swagger 时,示例输入值不使用命名元组,而是使用 item1 和 item2。例如:
"countriesVisited": [
{
"item1": "Afghanistan",
"item2": "false"
}
]
当我调用端点时,似乎我必须使用item1 和item2 来识别已指定的值。使用命名元组(country 和 visited)会导致指定的值被忽略。
是否可以更改此设置,以便当我调用端点时,我可以使用命名元组名称,而不是通用名称 item1 和 item2?
我知道我可以通过使用Country 和Visited 作为属性创建一个类来解决这个问题,但是如果可能的话,我想避免为这样的事情创建一个自定义类。
【问题讨论】:
-
我认为不是。有关说明和 JSON 示例,请参见此处 (josephwoodward.co.uk/2017/04/…)。
标签: c# asp.net-core namedtuple