所以我有一个有点问题......事情是,我有一个具有执行所有GET/POST/PUT/DELETE一个基类,它是一个通用类,所以基本上什么我实体我更新经过那里,然后我有我的实体类实现该类...问题落实儿童类方法
public virtual async Task<IHttpActionResult> Put([FromODataUri] TKey key)
的事情是,对于实体之一,我想更新数据库,因此前实施额外的逻辑我以为我只是做它的子类,然后是新的逻辑后,我调用基类的方法和应该做的伎俩,所以我创建了一个重载的方法
public override Task<IHttpActionResult> Put(int key){
//NEW LOGIC
return base.Put(key);
}
说我有问题是,当我做来自客户端的请求时,如果我没有这种新的方法来实现它工作正常,并调用基化酶法和实体被更新,但我加入后这一点,使用完全相同则返回400响应相同的AJAX请求......谁能帮我搞清楚这是怎么回事?非常感谢:)
我认为这是错误的本质和违背Odataprotocol。 'PUT'必须有模型作为参数。或三角洲。你不能把简单的原始类型。因此,您的覆盖方法隐藏了基本方法,但是Odata路线构建器无法找到它。因此400 –