【发布时间】:2018-08-29 12:57:15
【问题描述】:
我正在寻找一种方法让相同的端点(在 ASP.NET Core 2.0 中)接受单个和一个集合,但不知道如何使其工作:
[HttpPost]
[Route("")]
public ActionResult<string> Post([FromBody] SampleModel model)
{
return "Single";
}
[HttpPost]
[Route("")]
public ActionResult<string> Post([FromBody] SampleModel[] models)
{
return "Multiple";
}
目标是使两者都可以发布
{
"name": "Single"
}
还有
[
{
"name": "Multi1"
},
{
"name": "Multi2"
}
]
到同一个端点 - “api/sample/”。
这是否可能(通过使用自定义模型绑定器等)?
这似乎是 API 支持的一件好事。
【问题讨论】:
-
尝试查找 JObject 现在的挑战是识别对象或集合,因此在这种情况下,如果您对对象的覆盖成功,那么它就是平均对象,否则就是集合。
-
@Parwej 是的,我认为这是一个解决方案,但是你失去了所有模型构建的优点。