ASP.NET Core Controller PUT参数始终为null

时间:2017-05-31 21:44:07

标签: angular asp.net-core-mvc

我正在尝试进行PUT Api调用并通过一个对象。 在前端,当我在执行API调用之前调试对象时,它会正确地读取值...

但是,当它到达.Net Core控制器中的断点时,无论我尝试什么,该值始终为null。

Angular / Client Side

s = df.set_index(['id', 'item'], append=True).points
s = s.groupby(level=['date', 'id', 'item']).sum()

d = s.unstack('date', fill_value=0).T
tidx = pd.date_range(d.index.min(), d.index.max())
d = d.reindex(tidx, fill_value=0)

d1 = d.rolling('3D').sum().resample('2D').first().astype(d.dtypes).stack(0)
d1 = d1.rename_axis(['date', 'id']).rename_axis(None, 1)
print(d1)

                A   B
date       id        
2017-02-05 33  20  10
2017-02-07 33  20  20
2017-02-09 33   0   0
2017-02-11 33   3   0
2017-02-13 33   7   0

.Net核心控制器

public edit(message) {
            console.log(message);
            this.$http.put(`api/causemessage`, message).then((res) => {
                this.$state.reload();
            });
        }

^ msg似乎总是为null,即使在客户端的api调用之前,日志显示它充满了数据。

开发人员工具 - 控制台日志

[HttpPut]
        public void Put([FromBody] CauseMessage msg)
        {
            _service.EditCauseMessage(msg);
            //TODO : Get the PUT to get the correct data from the client side.  Client side "should" be sending the
            //TODO : correct data already.
        }

如果有人可以帮我找出为什么我总是收到空值,那就太棒了。

1 个答案:

答案 0 :(得分:1)

需要确保我有一个正确的数据绑定DTO。 我有我的5个属性,而不是从客户端发送的4个属性。

抱歉!但感谢你的答案!