【发布时间】:2021-09-01 05:33:29
【问题描述】:
错误:动作有多个参数被指定或推断为从请求正文绑定。每个动作只能绑定一个参数 .netcore
当我用我的 .net 核心项目的 2 个参数编写一个新的 httpPost 方法并出现上述错误时。我该如何解决这个问题。
[HttpPost]
public async Task<IActionResult> Create([FromBody] UserBO userBO, [FromBody] SiteCode siteCode)
{
try
{
await _userService.CreateUserAsync(userBO, siteCode);
return Created(nameof(Get), userBO);
}
catch (Exception ex)
{
return HandleException(ex);
}
}
【问题讨论】:
-
嗯,错误信息很清楚——基本上你只能使用
[FromBody]和一个参数。目前尚不清楚您期望它如何工作 - 当然主体是要么UserBO或SiteCode,但它不能同时是两者。在这种情况下,身体是什么样的?也许您需要一个新类型,它同时包含UserBO和SiteCode? -
您可以在 POST 中添加多个 MIME 附件。请参阅:docs.microsoft.com/en-us/previous-versions/office/developer/…
-
当我创建用户时,将记录添加到另一个表(siteUSer 表)。所以我需要添加两个参数。我不知道应该放什么,这就是为什么我把 [frombody] 放在两者之前
-
您可以将
SiteCode作为路径的一部分传递吗?它似乎是一个必填字段。如果用户是在站点的上下文中创建的,那将是一种描述关系的 RESTful 方式。如果它们不是在站点的上下文中创建的,那么包装对象是理想的。
标签: c# asp.net-core asp.net-core-3.1