[英]How to set two default fields to my input-model on ASP .Net webAPi .Net Core?
我有一个基类,我将其称为InputModelBase,其思想是所有REST post API都应将此基类用于Input模型。
我对此有两个默认属性:UserId和TestParams
我想要做的是一个中间件或某种检查我的参数是否为InputModelBase类型的东西,以便将Iprinciple声明Userid绑定到userid属性,并且还将TestParam绑定到标头中。
我试图建立自己的绑定提供程序,但迷路了。 我不想成为绑定事物的标准方法的所有者。 所以我只想使用我已经绑定的模型,并向其中添加两个值。
我希望在中间件中使用它,因此开发人员无需在我们所有的REST Apis中手动添加它们。
当他们使用inputmodel时,userID应该存在,并且如果标头发送了,则还有testparams。
所以以某种方式我需要在绑定完成时以及在将其传递给它自己的控制器方法之前就挂接
我是通过筛选器操作中间件实现的。 我尝试了错误的文件管理器选项。 我的错。
public class DefaultCommandSettingsActionFilter : IAsyncActionFilter
{
public async Task OnActionExecutionAsync(
ActionExecutingContext context,
ActionExecutionDelegate next)
{
var command = context.ActionArguments.Values.FirstOrDefault(x => x is ICommand);
if(command != null)
((dynamic)command).TestHarness = "Set values here!";
await next();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.