我正在尝试创建一个接受复杂类型的webApi方法,此方法可通过AngularJs $ http.post()调用,但收到的值始终为null。尝试了互联网上几乎所有可能的建议,似乎没有任何工作!我的代码片段如下。
var config = {
method: "POST",
url: URLService.myBaseURL() + 'api/RequestApi/createNewRequest',
headers: {
"Content-Type": "application/json"
},
data: $scope.dataToSubmit
}
$http(config)
.then(function (success) {
alert('A New request Created Successfully!!')
}, function (error) {
alert('There was an error while creating the request!!')
})
C#webApi代码
public class RequestApiController : ApiController
{
[HttpPost]
public string createNewRequest([FromBody]Request dataSubmitted)
{
//BL here...
}
}
public class Request {
List<Activities> clearanceReqDetails { get; set; }
.....
}
public class Activities{
....
}
任何帮助!!
答案 0 :(得分:0)
问题已解决!!这是类属性的访问说明符的问题,因为序列化/反序列化不仅发生在类中,而且类属性也需要具有适当的访问说明符。 就我而言,我通过添加公共&#39;解决了这个问题。访问说明符到两个类的属性,如下所示。
public class Request {
**public** List<Activities> clearanceReqDetails { get; set; }
...
}
public class Activities{
**public** ...
}