因此,根据各种建议,我更新了我的web api控制器方法,该方法接受来自
的多个复杂参数对象 //public IHttpActionResult PostCreateCase([FromBody] ARC.Donor.Business.Case.CreateCaseInput CreateCaseInput, [FromBody] ARC.Donor.Business.Case.SaveCaseSearchInput SaveCaseSearchInput)
到
public IHttpActionResult PostCreateCase(JObject jsonObject)
{
}
然后相应地解析它们......
public IHttpActionResult PostCreateCase(JObject jsonObject)
{
var CreateCaseInput = jsonObject["CreateCaseInput"].ToObject<CreateCaseInput>();
var SaveCaseSearchInput = jsonObject["SaveCaseSearchInput"].ToObject<SaveCaseSearchInput>();
ARC.Donor.Service.Case.CaseServices cs = new ARC.Donor.Service.Case.CaseServices();
var searchResults = cs.createCase(CreateCaseInput, SaveCaseSearchInput);
------
}
但即使在那之后我使用Json对象测试我的控制器
"CreateCaseInput":[
{
"case_nm":"EFG Test",
"case_desc":"EFG is a test",
"report_dt" : "04/12/2015"
}
],
"SaveCaseSearchInput":[
{
"firstName" : "Chiranjib",
"constType" : "IN"
}
]
我仍然在
中获得CreateCaseInput和SaveCaseSearchInput对象 public IList<ARC.Donor.Business.Case.CreateCaseOutput> createCase(ARC.Donor.Business.Case.CreateCaseInput CreateCaseInput, ARC.Donor.Business.Case.SaveCaseSearchInput SaveCaseSearchInput)
{
.......
}
为null。
我做错了什么?
答案 0 :(得分:1)
你JSON是错误的,因为它是一个数组,而不是一个对象。
尝试这种方式:
{
"CreateCaseInput":
{
"case_nm":"EFG Test",
"case_desc":"EFG is a test",
"report_dt" : "04/12/2015"
},
"SaveCaseSearchInput":
{
"firstName" : "Chiranjib",
"constType" : "IN"
}
}
希望有所帮助:)