已经有太多类似的问题,但是还有一个问题:
我遇到一个问题,即来自反应组件的我的Ajax帖子(PUT)被包含在一个包含" parent"元件。通过电线发送的数据是:
{"person":{"id":"1b982e30-c6b3-4297-dd02-08d4a8d9346a","firstname":"Phil","lastname":"Wheeler","email":"phil@email","phone":"55521234","birthdate":"0001-01-01T00:00:00","workplace":null,"hobbies":null,"other":null,"occupations":null}}
API方法非常简单:
[HttpPut("{id}")]
public void Put(Guid id, [FromBody]Client person)
{
// Do the stuff
}
Client
模型只是一个简单的类。
如果我按上述方式发布JSON数据,则属性都为空。如果我们删除父母" person"元素(即' unmarshalling' JSON请求),一切正常。
所以我有几个选择:我可以改变我的API方法来接受一种"动态"而不是强类型"客户"宾语;我可以包装我的"客户"类并接受该对象:
public class Request
{
public Client person { get; set; }
}
或者我可以想出一种从我的脚本中解开Ajax调用的方法。目前它是这样的:
axios.put(this.props.url + '/' + value.id, { value } )
.then(results => {
console.info("Do some stuff");
});
我的偏好是在我的API方法上使用强类型对象,因为我觉得它更清晰,更明显,但我 。有没有明显的遗漏,或者我应该采取阻力最小的路径并改变我的代码以适应数据?