在ASP.NET Core(在本例中为2.1)的控制器中使用[FromBody]
时,它将处理对指定模型的所有转换并确保该模型有效。这意味着,如果提供的输入格式错误,则甚至不会调用controller方法。
答案 0 :(得分:3)
在asp.net核心2.1中,library(sqldf)
sqldf("select avg(Variable) from df where ID IN (select ID from df where variable=30 AND week=1) AND Week=2")
属性已成为introduced,作为选择加入特定于Web API的约定和行为的方式。在启动时使用 avg(Variable)
1 37.5
标志来设置compatibility的级别。
新的行为是验证错误将automatically trigger an HTTP 400 response。如文档中所述,抑制这种行为非常容易:
ApiController
在这种情况下,您可以照常验证模型:
CompatibilityVersion.Version_2_1
关于第二个问题,这个范围太广了:
...以我的系统需要的方式记录无效输入...
您可以使用filters(如services.Configure<ApiBehaviorOptions>(options =>
{
options.SuppressModelStateInvalidFilter = true;
});
)。也许这就是您想要的?