2

我正在研究 ASP.NET 中的 REST API。我做的第一件事是模型的模型绑定器,通过如下代码与模型绑定:

[ModelBinder(typeof(MyModelModelBinder))]
public class MyModel { ... }

并在一个动作中使用它

public IHttpActionResult Post(MyModel model) { ... }

我突然意识到,在参数类型之前添加 [FromBody] 之后......

public IHttpActionResult Post([FromBody]MyModel model) { ... }

...模型绑定器被忽略。我尝试通过在 BindModel 方法的开头和操作的开头放置一个断点来调试它,并意识到当我调用操作时,我会直接执行操作。当我删除 FromBody 属性时,ModelBinder 中的断点再次变为活动状态。

为什么我不能同时使用?为什么 FromBody 属性忽略了 ModelBinder?

4

0 回答 0