将泛型参数绑定到Web API中的自定义模型绑定器

本文关键字:绑定 自定义 模型 Web 泛型 参数 API | 更新日期: 2023-09-27 18:29:40

在WebAPI的Register()方法中,我将特定的参数类型绑定到自定义模型绑定器,如下所示:

config.BindParameter(typeof(Expression<Func<Person, bool>>), new CustomModelBinder());

如何为泛型类型复制相同的内容?除了Person,我还有更多的模型和DTO。

将泛型参数绑定到Web API中的自定义模型绑定器

尝试使用所有DTO都实现的标记接口来实现这一点。

public interface IDataTransferObject {}
public class Person : IDataTransferObject
{
    ...
}

然后,您应该能够将这些绑定到您的自定义模型绑定器。

config.BindParameter(typeof(Expression<Func<IDataTransferObject, bool>>), new CustomModelBinder());