C# 如何在ASP.NETWebAPI.NETCore上为我的输入模型设置两个默认字段?

C# 如何在ASP.NETWebAPI.NETCore上为我的输入模型设置两个默认字段?,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个基类,我称之为InputModelBase。这个基类的想法是,所有REST post API都应该将这个基类用于输入模型 我有两个默认属性:UserId和TestParams 我想做的是一个中间件或者一些检查我的参数是否为InputModelBase类型的东西,如果是这样,我想将Iprinciple声明Userid绑定到Userid属性,如果头中定义了一些值,还需要TestParam 我试图构建自己的绑定提供程序,但失败了。 我不想拥有绑定东西的标准方式。所以我只想使用我已经绑定好的模型

我有一个基类,我称之为InputModelBase。这个基类的想法是,所有REST post API都应该将这个基类用于输入模型

我有两个默认属性:UserId和TestParams

我想做的是一个中间件或者一些检查我的参数是否为InputModelBase类型的东西,如果是这样,我想将Iprinciple声明Userid绑定到Userid属性,如果头中定义了一些值,还需要TestParam

我试图构建自己的绑定提供程序,但失败了。 我不想拥有绑定东西的标准方式。所以我只想使用我已经绑定好的模型,并向其中添加两个值

我希望这是一个中间件,这样开发者就不需要在我们所有的RESTAPI中手动添加它们

当他们使用inputmodel时,用户ID应该在那里,如果由标头发送,还应该有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();
            }
        }

当调用API时,是否希望为
UserId
TestParams
设置默认值?是。当一个用户发布数据,比如说/api/v1/user,我有一个FromBody UserIntPutModel,我希望它像默认情况下一样绑定。但是我想在我所有的输入模型上添加两个默认字段,将userid和testparam添加到这个输入模型中。而不是一直要求我的用户ID。不,它不是。。。