Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在将JSON转换为对象参数时,我必须在list-WebAPI中处理list_C#_Json_Asp.net Web Api - Fatal编程技术网

C# 在将JSON转换为对象参数时,我必须在list-WebAPI中处理list

C# 在将JSON转换为对象参数时,我必须在list-WebAPI中处理list,c#,json,asp.net-web-api,C#,Json,Asp.net Web Api,我有以下代码框架 public interface IAdmin { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public List<IUserName> UserNameList { get; set; } } [AcceptVerbs("POST")] public void Update

我有以下代码框架

public interface IAdmin
{
   public string FirstName { get; set; }
   public string LastName { get; set; }
   public int Age { get; set; }
   public List<IUserName> UserNameList { get; set; }
}

[AcceptVerbs("POST")]
public void UpdatePerson([FromBody]List<IAdmin> AdminList)
{
 // etc.
}
公共接口IAdmin
{
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共整数{get;set;}
公共列表用户名列表{get;set;}
}
[接受动词(“POST”)]
public void UpdatePerson([FromBody]List AdminList)
{
//等等。
}
正如大家所看到的,我有一个接口列表,我更喜欢注入它,而不是使用具体的类。不幸的是,由于list(IUsername)成员的原因,它不允许在post方法中将json转换为list(Iadmin)

如果我使用像list(CUserName)和list(admin)这样的具体类,它仍然可以工作

对于我希望通过unity注入的接口,它是失败的。列表(IUserName)


有什么想法吗?

你可以为此编写一个定制的模型活页夹。这是经过设计的。解决这个问题的唯一方法是创建一个自定义模型绑定器。我对web api没有真正的经验。我在一定程度上阅读了mvc理论。所以这就是我想知道选项的原因。有意识的自定义绑定器或json转换器是答案