我的 Web API 控制器中有一个方法:
[HttpPost]
public void Post([FromBody]Registration registration)
{
// omitted
}
我能够调用该方法,但参数始终为空。注册类定义为:
public class Registration
{
public int Id { get; set; }
public IStudent Student { get; set; }
}
public interface IStudent
{
string FirstName { get; set; }
string LastName { get; set; }
}
public class Student : IStudent
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
似乎 Registration 的 Student 属性是一个接口是造成这种情况的原因,因为当我尝试用具体类型替换它时,它绑定得很好。
使用接口时如何进行此绑定?另外,在我原来的 Web API 上,我接受了一个注册类型的参数。是否也可以将其作为接口(IRegistration)并仍然绑定?