如何在没有任何参数的情况下通过uri或http主体将复杂对象的实例传递给asp.net web api控制器

本文关键字:实例 对象 复杂 api 控制器 web net asp 主体 http 任何 | 更新日期: 2023-09-27 18:29:56

我想根据所选值创建某个类型的实例,所以我使用jquery.ajax()方法通过url将该类型的名称作为字符串传递给webapi控制器方法,在那里我创建了带有反射的该类型的实例。

但我对这种方法很在意。

我知道我可以用自定义的TypeConverter[FromUri]属性来实现ModelBinding。并传递一些数据来初始化对象字段。

问题是我的类型有默认的空构造函数,它不需要初始化任何字段。

如何通过url或http主体传递复杂对象的实例,而不指定任何参数?

如何在没有任何参数的情况下通过uri或http主体将复杂对象的实例传递给asp.net web api控制器

您是对的,您需要实现自己的自定义模型绑定器,它将调用
Activator.CreateInstance。然后您需要将MoldeBindingAttribute应用于您的操作。在操作本身中,您需要声明对象类型的参数(因为在编译时您不知道该类型)。这是实现您的要求的唯一方法。