C# 如何在IActionResult方法中传递多个对象
我需要在Asp.net核心中的C# 如何在IActionResult方法中传递多个对象,c#,asp.net-core,C#,Asp.net Core,我需要在Asp.net核心中的IActionResult方法中传递两个对象。我尝试了以下方法,但有一个对象传递了空值。我应该遵循哪些更改 public IActionResult createService([FromBody] ArmSmServiceCreatorEntity CreateServiceDetail, [FromBody] ArmSmServiceAndSubServiceEntity createSSSDetails) { try { thi
IActionResult
方法中传递两个对象。我尝试了以下方法,但有一个对象传递了空值。我应该遵循哪些更改
public IActionResult createService([FromBody] ArmSmServiceCreatorEntity CreateServiceDetail, [FromBody] ArmSmServiceAndSubServiceEntity createSSSDetails)
{
try
{
this.manager.BeginTransaction();
if (CreateServiceDetail == null)
{
return BadRequest("Service is null.");
}
this.manager.ArmSmServiceCreatorRepository.Add(CreateServiceDetail);
if (createSSSDetails == null)
{
return BadRequest("Service is null.");
}
this.manager.ArmSmServiceAndSubServiceRepository.Add(createSSSDetails);
this.manager.Commit();
return Ok("File was processed.");
}
catch (Exception ex)
{
this.manager.Rollback();
throw ex;
}
}
只能有一个
FromBody
参数
报告说:
不要对每个操作方法应用多个参数。一旦输入格式化程序读取了请求流,就不能再为绑定其他[FromBody]
参数而再次读取请求流
使用单个对象包装两个参数:
public class ArmSmServiceRequest {
ArmSmServiceCreatorEntity CreateServiceDetail { get; set; }
ArmSmServiceAndSubServiceEntity CreateSSSDetails { get; set; }
}
您的方法如下所示:
public IActionResult createService([FromBody] ArmSmServiceRequest)
在客户端,您还需要将两个对象包装成一个。添加从客户端传递的
json
。